Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-10-2009 14:44:55

Graurk
Nouveau membre
Date d'inscription: 16-09-2009
Messages: 8

utilisation d'un validateur personnalisé

Bonjour,
Je débute avec le Zend Framework. J'ai créer quelques formulaires et un validateur personnalisé pour confirmer un mot de passe en fonction du contenu de deux champs. Pour cela je me suis largement inspiré de celui-ci:
http://www.emanaton.com/code/php/validateidenticalfield

Mon problème que je n'arrive pas le faire fonctionner. J'ai nommé ma classe de validation Custom_IdenticalFields() et je l'ai enregistrer dans application/customs/Identicalfields.php
Dans le constructeur de mon formulaire je fais:
$this->addElementPrefixPath('Custom', 'customs', 'validate');
puis:
$password->addValidator('IdenticalFields', false, array('password_confirmation', 'Répétez votre mot de passe: '));

Ceci me donne comme erreur:
Message: Plugin by name 'IdenticalFields' was not found in the registry; used paths: Custom_: customs/ Zend_Validate_: Zend/Validate/

J'ai également essayé d'instancié la classe mais dans ce cas l'erreur indique que la classe en question n'est pas trouvée.
A terme je voudrais placé cette classe dans le répertoire library/customs.
Je ne comprend vraiment pas comment procéder. Quelqu'un pourrait-il m'expliquer comment faire?

Hors ligne

 

#2 14-10-2009 09:49:03

openaccess
Membre
Date d'inscription: 12-10-2009
Messages: 16

Re: utilisation d'un validateur personnalisé

Si ca peut t'aider voici le filtre que j'utilise pour valider deux mot de passe identique:

Code:

class oa_validate_PasswordsMatch extends Zend_Validate_Abstract {
    
    const PASSWORD_MISMATCH = 'passwordMismatch';
    
    protected $_messageTemplates = array(
        self::PASSWORD_MISMATCH => "Les deux mots de passe ne correspondent pas"
    );
    
    protected $_password;
    
    public function __construct($password)
    {
        $this->_password = $password;
    }
    
    public function isValid($value)
    {
        $this->_setValue($value);
        
        if ($value !== $this->_password) {
            $this->_error(self::PASSWORD_MISMATCH);
            return false;
        }
        return true;
    }
}

Hors ligne

 

#3 14-10-2009 11:21:46

Graurk
Nouveau membre
Date d'inscription: 16-09-2009
Messages: 8

Re: utilisation d'un validateur personnalisé

Merci,

Je viens de trouver mon erreur. En fait c'était tout bête: le nom de la classe et du répertoire de correspondait pas. Une erreur de débutant...

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