Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je rencontre un ptit problème avec zend_form et les filtres:
Voilà le code :
$form = new Zend_Form();
$login = new Zend_Form_Element_Text('login');
$login->setRequired(true)
->addFilter('StringToLower')
->addValidator('Alnum');
$email = new Zend_Form_Element_Text('email');
$email->setRequired(true)
->addFilter('StringToLower')
->addValidator('EmailAddress')
->addErrorMessage($translator->_("emailAddressInvalid"));
$passw1 = new Zend_Form_Element_Password('passw1');
$passw1->setRequired(true)
->addValidator('Alnum')
->addValidator('StringLength', false, array(8));
$form->addElements(array($login, $email, $passw1));
$form->setElementFilters(array('StringTrim','StripTags'));Avec ceci pour le login ->addFilter('StringToLower') ne marche pas, par contre si je commente la ligne $form->setElementFilters(array('StringTrim','StripTags'));, ->addFilter('StringToLower') est effectué correctement.
Je n'arrive pas à effectuer de filtre général et individuel
Autre chose si j'inverse les 2 lignes plus haut comme ceci :
$form->setElementFilters(array('StringTrim','StripTags'));
$form->addElements(array($login, $email, $passw1));aucun filtre n'est effectué.
Merci
Dernière modification par alien7 (09-12-2008 19:21:00)
Hors ligne
attention, tu confonds les types de fonctions add* et set*
Lorsque tu appelles une fonction set* ca n'ajoute pas, mais ça remplace.
De plus, setElementFilters est un raccourci qui place des filtres sur des éléments. Si tu n'as pas enregistrés tes d'éléments, comment veux tu y ajouter des filtres ![]()
Hors ligne
Bah je vois pas comment faire, ce n'est pas possible d'effectuer de filtre général et individuel ?
Hors ligne
Hello,
alien7 a écrit:
Bah je vois pas comment faire, ce n'est pas possible d'effectuer de filtre général et individuel ?
D'abord le général et ensuite le particulier (pas l'inverse comme toi).
La fonction addElementFilters n'existe pas. Tu dois pouvoir étendre Zend_Form pour implémenter :
public function addElementFilters(array $filters)
{
foreach ($this->getElements() as $element) {
$element->addFilters($filters);
}
return $this;
}A+
Dernière modification par mikaelkael (09-12-2008 17:35:44)
Hors ligne
Impec ca marche, merci mikaelkael ![]()
Pourquoi cette méthode en'existe pas dans Zend_Form ?
Dernière modification par alien7 (09-12-2008 19:20:30)
Hors ligne
Hello,
Bonne question ![]()
A+
Hors ligne
Pages: 1