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