Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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
Si ca peut t'aider voici le filtre que j'utilise pour valider deux mot de passe identique:
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
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
Pages: 1