Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'ai créé un formulaire avec Zend_Form, tout fonctionne correctement sauf que j'ai des messages d'erreurs qui s'affichent là où je ne les souhaite pas.
Notamment, un setRequired(true) sur un élément vide, me retourne un message en anglais sous le champs alors que souhaite qu'il déclenche mon message d'erreur personnalisé au dessus du formulaire.
Commen faire pour que ce message ne s'affiche (autrement que par mon display:none que j'ai mis en place) et surtout que mon message "authentification impossible" au-dessus du fomulaire dans un bloc existant.
Merci
Geoffrey
Dernière modification par Geoffrey (09-11-2008 16:08:52)
Hors ligne
Bonsoir,
Pour ne pas afficher le message d'erreur sur ton champ, il suffit de modifier tes décorateurs dans ton formulaire. Ainsi, en utilisant la méthode ci-dessous, tu réécris tous les décorateurs de ton formulaire, et tu inclus iniquement les décorateurs ViewHelper, Label et HtmlTag
$form->setElementDecorators(array( array('ViewHelper'), array('Label'), array('HtmlTag') ));
Ensuite, dans ton contrôleur, dans ton action qui va s'occuper de l'authentification, tu fonctionne comme suit :
// Récupération des données du formulaire $formData = $this->_request->getPost(); // Vérification de la validité du formulaire if (!$form->isValid($formData)) { $this->view->error= "Authentification impossible"; }
Et pour finir, dans ta vue correspondant à ton action :
<?php if(isset($this->error)) { echo "<div class='erreur'>$this->error</div>"; } ?>
Voilà, je ne sais pas s'il s'agit de la meilleure technique, mais ça fonctionne.
Dernière modification par tonton flubb (06-11-2008 23:39:03)
Hors ligne
Bonjour,
Génial ! Tu peux marquer ton sujet comme résolu.
Hors ligne
Pages: 1