J'essaie d'ajouter une validation personnalisée ou de soumettre une fonction au formulaire d'inscription de l'utilisateur, mais rien ne fonctionne.
Voici le code dans /sites/all/themes/mytheme/template.php:
function mytheme_user_register_form_validate (&$form, &$form_state) {}
function mytheme_form_user_register_form_validate (&$form, &$form_state) {}
function mytheme_user_register_validate (&$form, &$form_state) {}
function mytheme_user_register_form_submit (&$form, &$form_state) {}
function mytheme_profile_user_form_validate (&$form, &$form_state) {}
J'ai également mis un code similaire dans /sites/all/modules/custom/mymodule/mymodule.module:
function mymodule_user_register_form_validate (&$form, &$form_state) {}
function mymodule_form_user_register_form_validate (&$form, &$form_state) {}
function mymodule_user_register_validate (&$form, &$form_state) {}
function mymodule_user_register_form_submit (&$form, &$form_state) {}
function mymodule_profile_user_form_validate (&$form, &$form_state) {}
Aucune des fonctions ci-dessus n'est appelée et j'ai manqué d'idées. Pour prouver que quelque chose fonctionne sur ce formulaire, voici quelque chose qui fonctionne:
function mytheme_form_user_register_form_alter(&$form, &$form_state, $form_id) {}
Cela s'appelle !! Mais je dois valider ...
Par ailleurs, le débogueur montre (entre autres) ceci lors du débogage du hook_form_alter:
$form['#validate'][0] = 'user_account_form_validate'
$form['#validate'][1] = 'user_validate_picture'
$form['#validate'][2] = 'user_register_validate'
$form['#validate'][3] = 'profile_user_form_validate'
Ajoutez ceci dans votre hook_form_alter:
$form['#validate'][] = 'your_validation_function';
De cette façon, vous pouvez définir des fonctions de validation supplémentaires. Assurez-vous de signaler toutes les erreurs de validation à l'aide de la fonction form_set_error()
.