2010-10-23 28 views
1

Est-il dire de toute façon Drupal pour valider les éléments de formulaire comme les champs e-mail, mots de passe, les champs numériques valident permet automatiquement dire lier un système validateurfonctions de validation de formulaire Drupal

 
$form['email] = array(
    '#title' => t('Email'), 
    '#type' => 'textfield', 
    '#validate_as' => array('email', ...), 
    ... 
); 

Répondre

5

Rimian est à la fois correcte et le mal. La bonne chose que souligne Rimian, c'est que vous pouvez attacher n'importe quelle fonction de validation à vos champs de formulaire en utilisant le #element_validate.

Cependant, je ne suis pas au courant d'un ensemble de fonctions de validation sous forme de api vous pouvez appeler pour tester des choses les plus courantes comme, si la valeur est:

  • un int
  • un int positif
  • une date valide (une telle fonction existe dans le module de date si)
  • une adresse e-mail (vous pouvez utiliser valid_email_address pour vérifier l'e-mail, mais vous avez besoin d'une fonction d'augmenter l'erreur de validation)

Alors que vous pouvez le faire, c'est un peu plus de travail que vous espériez, car vous aurez besoin de créer ces fonctions de validation vous-même. Mais une fois que vous avez fait cela, vous pouvez les réutiliser avec #element_validate.

L'utilisation de #element_validate est principalement centrée autour de la validation complexe de la date de validation fx, de la validation d'emplacement et autres, car elle nécessite un certain travail pour créer ces fonctions de validation. La plupart du temps, vous n'avez pas besoin de valider autant de nombres, etc. (ce que vous pourriez facilement faire dans une fonction de validation normale en utilisant une boucle). Donc, je ne suis pas sûr de savoir à quel point cela vous aidera, mais c'est certainement une possibilité.