Créez une fonction de validation pour votre formulaire. Voici un exemple d'utilisation de votre formulaire. Par exemple, supposons que votre code de formulaire se trouve dans une fonction appelée my_email
:
<?php
function my_email() {
$form = array();
$form['address']['mail'] = array(
'#type' => 'textfield',
'#title' => t('E-mail'),
'#required' => TRUE,
'#default_value' => $subscription->mail,
'#maxlength' => 255,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Versturen'),
);
return $form;
}
function my_email_validate($form, &$form_state) {
// YOUR CUSTOM VALIDATION CODE GOES HERE
if (!valid_email_address($mail)) {
form_set_error('submitted][email_address', t('The email address appears to be invalid.'));
}
}
function my_email_submit($form, &$form_state) {
// YOUR CUSTOM SUBMIT CODE GOES HERE
}
?>
Cette fonction vous permettra d'écrire du code personnalisé pour déterminer si les valeurs entrées dans vos champs sont valides ou non. Vous pouvez également ajouter une fonction d'envoi personnalisée pour votre formulaire afin d'exécuter du code personnalisé lors de l'envoi du formulaire.
Pour en savoir plus sur la validation des formulaires , consultez Validation des formulaires , soumission des formulaires sur Soumission des formulaires ou lisez l'intégralité de l'article pour une meilleure compréhension de l'API Forms: Form API Quickstart Guide
Au lieu d'ajouter un gestionnaire de validation de formulaire au formulaire, vous pouvez ajouter un gestionnaire de validation à l'élément de formulaire qui doit être validé: Utilisez #element_validate , qui accepte un tableau de gestionnaires de validation qui seront appliqués à l'élément de formulaire.
Le gestionnaire de validation reçoit trois arguments: l'élément de formulaire en cours de validation, le
$form_state
et le$form
tableau du formulaire contenant l'élément de formulaire. Le gestionnaire de validation doit appeler form_error () ou form_set_error () pour signaler toute erreur de validation.la source
Expliqué ici: http://drupal.org/node/279127
la source
Vous pouvez simplement utiliser le module Elements et simplement utiliser le 'emailfield' dans la propriété #type de l'élément de formulaire, comme ceci:
Rien de plus simple avec le module elements, rendre la validation personnalisée pour un simple champ email n'a pas de sens, vous n'avez pas à réinventer la roue ...
la source
Installez le module Email Field et corrigez-le avec le correctif sur le commentaire 16. Ensuite, utilisez le code dans la description du problème lié pour définir votre champ de messagerie avec validation intégrée:
la source
L'adresse e-mail peut être validée avec votre gestionnaire de validation de formulaire
Si la fonction
your_form
définit votre formulaire, le gestionnaire de validation par défaut seraityour_form_validate
ou sinon vous pouvez également le définir manuellementla source