Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je suis en train d'essayer une nouvelle fonctionnalité de ZF 1.6.1, qui est l'ajout de messages d'erreurs personnalisés dans le formulaire avec Form::addError.
En fait j'ai l'impression de rencontrer un bug, car utiliser addError (ou addErrorMessage + markAsError) ne change strictement rien à la validation du formulaire...
$form = new Zend_Form(); ... $text = new Zend_Form_Element_Text('name'); $text->setLabel('Votre texte :'); $text->addError('Erreur !'); $form->addElement($text); ...
Le formulaire ci-dessus, en l'envoyant, renvoie normalement une erreur et n'est donc pas valide. Il n'en n'est rien, ZF fait comme si ce formulaire était valide, ignorant au passant mon erreur personnalisée...
Un bug ? Ou une mauvaise compréhension de la doc ?
Merci
Hors ligne
Bonjour,
Mon problème n'est toujours pas résolu et j'ai l'impression qu'au fil des versions, le bug ne se résous toujours pas...
Pour que addError() marche, il faut obligatoirement un validateur car ça remplace les messages d'erreurs de ce dernier. Mais selon la description de addError ("Add an error message and mark element as failed validation") qui dit assez clairement que les validateurs ne sont pas concernés, cette méthode devrait ajouter un message d'erreur dans la pile des messages d'erreurs de l'élément, et marquer ce dernier comme étant non valide. Ce qui est bien loin de fonctionner...
Je pourrais très bien créer un validateur personnalisé au lieu d'utiliser addError, mais j'ai certains cas très spécifiques de validation à faire et j'ai pas vraiment envie de m'enquiquiner à créer un validateur qui ne sera utilisé qu'une seule fois. D'où mon intéressement avec addError, puisque je pensais pouvoir faire mon test de validation juste après la création de l'élément, et le rendre éventuellement invalide au cas où... Mission impossible.
Et vous, comment faites-vous pour vos cas de validation très spécifiques ? Zend_Validate ?
Dernière modification par ALkyD (19-02-2009 16:46:54)
Hors ligne
salut,
je rencontre le même probléme. Quand je fais addError, il me remplace tous les messages d'erreur de validator si il existe sinon il ne fais rien.
Aprés vérification d'un formulaire dans le controleur comment ajouter un message d'erreur pour un element du formulaire?
Merci de m'aider
Hors ligne