Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-02-2009 14:00:38

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

[Résolu][Zend_Form][ZF 1.7.4]Messages validateurs affiché au démarrage

Bonjour,

Petit problème avec Zend form.

Quand j'arrive sur ma vue avec affichage, pour la première, du formulaire, celui ci arrive avec les messages des valideurs...

Je n'arrive pas a comprendre pourquoi ?

Code:

    public static function getLoginForm()
    {       
        require_once 'Zend/Form.php';
        
        $form = new Zend_Form();
                                
        
        $form->setName('login');                
        $form->setMethod('post');
        
        // Username
        $username = $form->createElement('text', 'username');
        $username->setLabel('Nom d\'utilisateur')
                 ->addValidator('alnum')
                 ->setRequired(true)
                 ->addFilter('StringToUpper');
        
        // Password
        $password = $form->createElement('password', 'password');
        $password->setLabel('Mot de passe')
                 ->setRequired(true)
                 ->addValidator('NotEmpty');
                 
        // Liste des sites de connexions.
        $listOptions = Login::getSite();       
        
        $site = $form->createElement('select', 'site');
        $site->setLabel('Site')
             ->setMultiOptions($listOptions)
             ->setRequired(true);
        
        // Bouton Submit
        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setLabel('Envoyer');                      
                 
        // Ajoute les éléments au formulaire
        $form->addElement($username)
             ->addElement($password)
             ->addElement($site)
             ->addElement($submit);       
     
         return $form;              
             
    }

Merci d'avance

EB

Dernière modification par ManuB (09-02-2009 18:55:44)

Hors ligne

 

#2 09-02-2009 16:29:04

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Résolu][Zend_Form][ZF 1.7.4]Messages validateurs affiché au démarrage

Hello,

Je ne pense pas que ton problème est dans le code que tu montres. Montres nous plutôt le code de ton contrôleur.

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 09-02-2009 16:48:04

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

Re: [Résolu][Zend_Form][ZF 1.7.4]Messages validateurs affiché au démarrage

Voila :

AuthController

Code:

    public function loginAction ()
    {
        // Initialise le formulaire
        $form = Login::getLoginForm();
        
        // Test si des valeurs ont été postées
        if (! $this->getRequest()->isPost()) {
            // Si rien n'est posté on renvoie au formulaire de login
            $this->view->form = $form;
            //return $this->render();
        }
        // On test la validité du formulaire
        if ($form->isValid($_POST)) {
                        
            $username = $form->getValue('username');
            $password = $form->getValue('password');
            $site      = $form->getValue('site');
            
            $dbAdapter = Zend_Registry::get('db');
            $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
            $authAdapter->setTableName('XXXX');
            $authAdapter->setIdentityColumn('XXXX');
            $authAdapter->setCredentialColumn('XXXX');            
            
            // Valeur pour l'authentification
            $authAdapter->setIdentity($username);
            $authAdapter->setCredential($password);            
            
               // Authentification
            $auth = Zend_Auth::getInstance();
            $result = $auth->authenticate($authAdapter);
            
            if ($result->isValid()) {
                $storage = $auth->getStorage();
                
                $ResultRowObject = $authAdapter->getResultRowObject(null,'mdp');
                                 
                                //Ajout du site dans persistance identité
                $resultColumn = "site";
                $ResultRowObject->{$resultColumn} = $site;
                $storage->write($ResultRowObject);        
                                     
                $this->_redirect('/');
            } else {
                
                $this->view->form = $form;
                $this->view->message = 'Identification incorrecte !';
                return $this->render('login');

            }            
            
        }else{
                $this->view->form = $form;
                return $this->render('login');
        }
    }

et le plugin :

Code:

class CG89_Controller_Plugin_Auth extends Zend_Controller_Plugin_Abstract
{    
    /**
     * Redirection vers le formulaire d'authentification si l'utilisateur n'est pas connecté
     */
    public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
    {
        $auth = Zend_Auth::getInstance();
        if (!$auth->hasIdentity()) {    
            $request->setControllerName('auth');
            $request->setActionName('login');
        }
    }
}

merci d'avance...

Manu

Hors ligne

 

#4 09-02-2009 17:41:12

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Résolu][Zend_Form][ZF 1.7.4]Messages validateurs affiché au démarrage

Hello,

Tu fais un isValid() même si ta requête n'est pas POST, c'est pour ça.

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#5 09-02-2009 18:55:02

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

Re: [Résolu][Zend_Form][ZF 1.7.4]Messages validateurs affiché au démarrage

Merci Mickael .... J'ai pas assez ouvert mes yeux cet après midi...

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