Aiuto con modulo Profile

2 contenuti / 0 new
Ultimo contenuto
Aiuto con modulo Profile

Ciao ragazzi,
confido in voi.

allora:

Sto usando il modulo "Profile" per creare dei campi per il proprio profilo.
Tutto ok fino a qua,ma dovrei capire come poter fare dei controlli su questi campi una volta creati.
Mi spiego:

i creo un textfield che abilito in fase di registrazione e chiamerò "profile_imei" ora quando l'utente si registra devo far si che possa inserire in questo campo solametne numeri e non piu di 15.

Ho fatto questa aggiunta alla funzione "profile_form_profile":

<?php
    
switch ($field->type) {
      case
'textfield':
    
$fields[$category][$field->name] = array('#type' => 'textfield',
          
'#title' => check_plain($field->title),
          
'#default_value' => $edit[$field->name],
      
'#maxlength' => $field->max_lenght,
        );
 
// Di seguito i controlli dei caratteri immessi nel campo (in questo modo accetta solo numeri) e il controllo sulla lunghezza minima del campo
      
if ($field->only_numbers == '1') {
        if (
$edit[$field->name] != '') {
            if (!
preg_match('/[0-9]/', $edit[$field->name])) {
           
form_set_error($field->name, t($edit[$field->name] . ' The specified form name contains one or more illegal characters. Spaces or any other special characters except dash (-) and underscore (_) are not allowed.'));
            }
            if (
$field->min_lenght != '0') {
                if (
strlen($edit[$field->name]) < $field->min_lenght) {
               
form_set_error('$field->name', t('Il seguente campo deve essere composto da ' . $field->min_lenght . ' caratteri'));
                }
            }
        }
    }
?>

e funziona nella parte di profilo vera e propria ma non la prende in fase di registrazione.

Spero di essere stato chiaro...
confido nel vostro aiuto...è davvero importante.

Grazieeeeeeeeeeeeeeeee

Non ho capito se il problema è che non effettua il check lato client in real time (cioè mentre l'utente lo scrive sul suo browser) o se il problema si ha in validazione lato server :P

PS: usa i pulsanti PHP per rendere più comprensibile i tuoi post :P

Ciao
Marco
--
My blog
Working at @agavee