Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
bonjour
voila je suis nouveau sur ce forum..
j'ai un problème avec un formulaire au niveau des erreurs..
en fait lorsque j'ai une erreur à la validation de mon formulaire, chaque erreur s'affiche en dessous de mon champ.
Ce que j'aimerai faire moi, c'est afficher toutes mes erreurs en haut de mon formulaire, et mettre a coté de chaque champ en erreur un petit point d'exclamation (image)
est-ce possible, et si oui pourriez vous me donner un bon tutoriel ou même mieux un exemple.
voici mon code :
formulaire :
class Form_inscription extends Zend_Form { public $elementDecorators = array( 'ViewHelper', array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')), array('Label', array('tag' => 'td')), array('Errors', array('tag' => 'td')), array(array('row' => 'HtmlTag'), array('tag' => 'tr')), ); public $buttonDecorators = array( 'ViewHelper', array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')), array(array('label' => 'HtmlTag'), array('tag' => 'td', 'placement' => 'prepend')), array(array('row' => 'HtmlTag'), array('tag' => 'tr')), ); public function init() { // set the method for the display form to POST $this->setMethod('post'); $this->addElement('text', 'nom', array( 'decorators' => $this->elementDecorators, 'label' => 'Nom:', 'required' => true, )); $this->addElement('text', 'prenom', array( 'decorators' => $this->elementDecorators, 'label' => 'Prenom:', 'required' => true, )); // add an email element $this->addElement('text', 'email', array( 'decorators' => $this->elementDecorators, 'label' => 'Your email address:', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array( 'EmailAddress', ) )); $departement = new Zend_Form_Element_Select('departement'); $departement->setLabel('Département'); $departement->addMultiOptions(Zend_Registry::get("TAB_DEP")); $departement->setDecorators($this->elementDecorators); $this->addElement($departement); // add the submit button $this->addElement('submit', 'submit', array( 'decorators' => $this->buttonDecorators, 'label' => 'Sign Guestbook', )); } public function loadDefaultDecorators() { $this->setDecorators(array( 'FormElements', array('HtmlTag', array('tag' => 'table')), 'Form', )); } }
merci a tous pour vos reponses...
Hors ligne
En cherchant, tu as tout ce qu'il te faut dans la doc pour parcourir toutes tes erreurs et la affichés en haut.
Pour le point d'exclamation, ca marche à coup de CSS (le décorateur error te rajouter une classe, tu n'as plus que utilisé cette classe pour rajouté un !)
Hors ligne