Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 23-02-2009 13:44:23

alexsplif
Nouveau membre
Date d'inscription: 23-02-2009
Messages: 2

zend form decorator

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 :

Code:

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

 

#2 23-02-2009 20:25:37

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: zend form decorator

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 !)


----
Gruiiik !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages