Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-01-2013 18:19:58

erehcab
Membre
Date d'inscription: 17-11-2009
Messages: 63

Ecriture de validateur personnalisé

Bonjour à tous,

j'ai besoin d'écrire un validateur de formulaire qui s'assure qu'au moins un des deux champs du formulaire contiennent une valeur.

Comment puis je faire avec la structure de base  ?

Hors ligne

 

#2 08-01-2013 19:39:56

Roromix
Membre
Date d'inscription: 05-12-2011
Messages: 55

Re: Ecriture de validateur personnalisé

Pour faire ceci, la seule solution que je connaisse et que j'utilise souvent c'est de redéfinir la méthode isValid de Zend_Form.

Code:

/**
 * Méthode permettant de valider le formulaire
 * 
 * @param array $data
 * @return bool
 */
public function isValid($data)
{
    parent::isValid($data);

    $value1 = $this->getElement('champ1')->getValue();
    $value2 = $this->getElement('champ2')->getValue();
    
    if ( empty($value1) && empty($value2) ) {
        
        $this->addError("Message d'erreur");
    }

    return !$this->isErrors();
}

Dernière modification par Roromix (08-01-2013 19:45:01)

Hors ligne

 

#3 08-01-2013 19:43:02

erehcab
Membre
Date d'inscription: 17-11-2009
Messages: 63

Re: Ecriture de validateur personnalisé

Merci !
Tu penses qu'il n'y a aucune autre solution ?
Sinon celle-ci me convient très bien.

Hors ligne

 

#4 08-01-2013 19:47:46

Roromix
Membre
Date d'inscription: 05-12-2011
Messages: 55

Re: Ecriture de validateur personnalisé

On ne peux pas faire autrement.

Hors ligne

 

#5 08-01-2013 23:33:50

vg33
Membre
Date d'inscription: 30-07-2008
Messages: 46

Re: Ecriture de validateur personnalisé

Bien sûr que si, on peut faire autrement.
Tu crées un valideur personnalisé, tu l'attaches à l'un des champs (peu importe), tu lui passes l'objet form en paramètre, grâce à lui tu récupères les valeurs des deux champs, et tu valides les données.
Cela me parait plus propre que de modifier isValid().

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