Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'ai actuellement un controller dédié à la validation de mes formulaires.
Il se présente ainsi :
class ValidationController extends Zend_Controller_Action { public function validation1Action() { $validNotEmpty = new Zend_Validate_NotEmpty(); $validAlnum = new Zend_Validate_Alnum(); $validPseudoLength = new Zend_Validate_StringLength(array('min' => 2, 'max' => 16)); $validPseudoExist = new Zend_Validate_Db_NoRecordExists(array 'table'=>'hl_joueurs','field'=>'joueur_login')); $validPasswordLength = new Zend_Validate_StringLength(array('min' => 6, 'max' => 30)); $validEmail = new Zend_Validate_EmailAddress(); $validEmailExist = new Zend_Validate_Db_NoRecordExists(array('table'=>'hl_joueurs', 'field'=>'joueur_email')); // controle formulaire1 } public function validation2Action() { $validNotEmpty = new Zend_Validate_NotEmpty(); $validAlnum = new Zend_Validate_Alnum(); $validEmail = new Zend_Validate_EmailAddress(); $validEmailExist = new Zend_Validate_Db_NoRecordExists(array('table'=>'hl_joueurs', 'field'=>'joueur_email')); // controle formulaire2 } // etc .... }
Il y a-t-il un moyen de déclarer tous mes validateurs une seule fois dans le controller et de pouvoir les utiliser dans les actions le demandant afin d'éviter la répétition de validateurs ?
Merci d'avance ;) !
Hors ligne
Oui, dans la fonction init du controller, elle sera automatiquement appelée par le constructeur de Zend_Controller_Action et te permet de déclarer les validateurs que tu réutilises partout.
Mais pense à Zend_Form pour ce genre de choses, ça rend le code bien plus propre.
Hors ligne
Pages: 1