incominciando a smanettare con drupal ho scritto questo modulo
COME MAI NON MI EFFETTUA NESSUN CONTROLLO SULLA CORRETTEZA DELLA MAIL????????
<?php
</em>
function prova_modulo_menu() {
$items = array();
$items['prova_modulo/form'] = array(
'title' => t('Il mio form'),
'page callback' => 'prova_modulo_form',
'access arguments' => array('access content'),
//'description' => t('Il mio form'),
//'type' => MENU_CALLBACK,
);
return $items;
}
function prova_modulo_form() {
return drupal_get_form('prova_modulo_my_form');
}
function prova_modulo_my_form($form, &$form_submit) {
//date di pubblicazione
//contatti
$form['gruppo1'] = array(
'#type' => 'fieldset',
'#title' => t('Contatti'),
'#collapsible' => TRUE, // Added
'#collapsed' => FALSE, // Added
//'#description' => "",
);
$form['gruppo1']['Titolo'] = array(
'#type' => 'textfield',
'#size' => '120',
'#maxlength' => '100',
'#title' => t('Titolo'),
'#required' => TRUE,
);
$form['gruppo1']['EmailContatto'] = array(
'#type' => 'textfield',
'#size' => '120',
'#maxlength' => '255',
'#title' => t('Email'),
'#required' => TRUE,
);
$form['gruppo1']['TelContatto'] = array(
'#type' => 'textfield',
'#size' => '120',
'#maxlength' => '100',
'#title' => t('Telefono 1'),
);
$form['gruppo4']['Indirizzo'] = array(
'#type' => 'textfield',
'#size' => '120',
'#maxlength' => '255',
'#title' => t('Indirizzo'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Invia'),
);
return $form;
}
/**
* Validazione indirizzo mail
*/
function prova_modulo_email_validate($form, &$form_state) {
if (!valid_email_address($form_state['values']['EmailContatto'])) {
form_set_error('EmailContatto', t('That e-mail address is not valid.'));
}
}
/**
/* Form submission logic for the contact form.
function email_example_form_submit($form, &$form_state) {
email_example_mail_send($form_state['values']);
}
**/
?>
grazie!!!
marco
Ciao,
probabilemente perchè nell'hook form non richiami il validate!
Spero di non sbagliarmi, io in D6 i form li faccio così. E funzionano!
io uso D7...... cambia qualcosa nei termini di validazione?
ti ringrazio per la risposta, però non ho capito cosa e dove devo modificare del mio codice
Io chiamerei la drupal_get_form direttamente dal menu item e poi per la validazione basta che dichiari la funzione seguendo il pattern giusto ossia tuomodulo_tuafunzioneform_validate($form, &$form_state).
Non credo ci siano differenze tra D6 e 7.
Follow me @DarthDrupal and @Dinamicamente.org
Dinamicamente.org
il codice proposta da DarthDrupal non va...
ho comunque risolto inserendo nella funzione di output delle webform l'isrtizione
$form['#validate'][] = 'prova_modulo_email_validate';
ringrazio!!!!
Non funziona perchè dopo aver fatto una modifica a un menu item devi ricostruire i menu, visitando la pagina dove vengono elencati i moduli ad esempio.
Cmq la cosa importante è che hai risolto.
Follow me @DarthDrupal and @Dinamicamente.org
Dinamicamente.org