Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-04-2010 17:55:44

Geoffrey
Membre
Lieu: 63
Date d'inscription: 12-04-2007
Messages: 140
Site web

[1.9.3][Zend_Validate] Format email

Bonjour,

je cherche à utiliser le validateur 'EmailAddress' de la manière la plus simple possible, juste vérifier que le format saisi est correct.
Je ne cherche pas à rendre obligatoire la saisie de ce champ, mais le validateur ne me laisse pas le choix.

Voici le bout de code qui concerne mon problème :

Code:

$filters = array(
  'util_prenom' => array(
    'StringTrim',
    'StripTags'
  ),
'util_mail' => array(
    'StringTrim',
    'StripTags'
  );

$validators = array(
  'util_prenom' => array(
    'NotEmpty',
    'messages' => "Le prénom est obligatoire"
  ),
  'util_mail' => array(
    'EmailAddress',
    'messages' => "Il y a une erreur dans l'adresse mail"
  );

$_CLEAN = new Zend_Filter_Input($filters, $validators, $this->getRequest()->getPost());

Le problème, c'est que quand je valide tout à vide, voilà ce que j'obtiens :

Code:

array
  'util_prenom' => 
    array
      'isEmpty' => string 'Le prénom est obligatoire' (length=26)
  'util_mail' => 
    array
      'isEmpty' => string 'Le prénom est obligatoire' (length=26)

Etrange non ?
Sachant que si je met une adresse valide, ca passe et si je mets n'importe quoi ca me retourne le message "Il y a une erreur dans l'adresse email". Ce n'est que le cas vide qui me pose problème.

Une idée ?

Merci

Hors ligne

 

#2 23-04-2010 11:23:40

Geoffrey
Membre
Lieu: 63
Date d'inscription: 12-04-2007
Messages: 140
Site web

Re: [1.9.3][Zend_Validate] Format email

Bonjour,

Je m'auto-réponds. Tout est dans la doc qui détail le fonctionnement de Zend_Filter_Input ...
En gros, dès qu'un champs est présent dans le tableau $validators, il est considéré comme obligatoire, il faut le rendre non obligatoire explicitement en rajoutant le lavidateur allowEmpty à true.
Voici mon exemple de ma question corrigé :

Code:

$validators = array(
  'util_prenom' => array(
    'NotEmpty',
    'messages' => "Le prénom est obligatoire"
  ),
  'util_mail' => array(
    'EmailAddress',
    'allowEmpty' => true,
    'messages' => "Il y a une erreur dans l'adresse mail"
  );

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages