Sto tentando di modificare il modulo di checkout in Drupal Commerce, per richiedere a un utente di inserire il proprio indirizzo email due volte. Quando inviano il modulo, Drupal dovrebbe verificare se le e-mail corrispondono, e chiamare lo form_set_error()
in caso contrario. Per ora, sto solo cercando di allegare una funzione di convalida personalizzata al modulo, che non riesco a far funzionare. (Il mio modulo è chiamato checkout_confirm_email. Questo modulo è solo per uso personale, quindi non ho messo molto impegno nel nome).Come utilizzare la convalida del modulo in Drupal 7
function checkout_confirm_email_form_alter(&$form, &$form_state, $form_id) {
if($form_id == 'commerce_checkout_form_checkout') {
$form['#validate'][] = 'checkout_confirm_email_form_validate';
dprint_r($form['#validate']);
dsm("I printed");
}
}
function checkout_confirm_email_form_validate($form, &$form_state) {
dsm("Never prints...");
}
Le uscite dprint_r
statment Array ([0] => checkout_confirm_email_form_validate)
. Quindi la funzione fa parte dell'array del modulo, ma l'istruzione dsm nella funzione di convalida non viene mai stampata.
Sono stato bloccato per un po '. Ho cercato degli esempi e non riesco a vedere cosa sto sbagliando. Chiunque?
questo dovrebbe essere '$ form [ '# presentare '] [' # validate '] [] '? – user151841
No il # è per gli attributi non per gli elementi –