2010-04-18 5 views
3

je rédigeais un formulaire de connexion simple, tout fonctionne très bien (validation, etc.), mais je ne peux pas obtenir les valeurs, il y a mon code:valeurs forme Symfony manquantes

public function executeIndex(sfWebRequest $request) 
    { 
     $this->getUser()->clearCredentials(); 
     $this->getUser()->setAuthenticated(false); 

     $this->form = new LoginForm(); 

     if ($request->isMethod('post') && $request->hasParameter('login')) { 
      $this->form->bind($request->getParameter('login')); 

      if ($this->form->isValid()) { 

       $this->getUser()->setAuthenticated(true); 
       $this->getUser()->addCredential('user'); 
       $this->login = $this->form->getValue('login'); 
      } 
     } 
    } 

$ this-> connexion est NULL . Maintenant, je vérifié presque tout, le formulaire est valide, isBound() est vrai, count() retourne 3, je peux voir les valeurs dans ma demande:

parameterHolder: 
    action: index 
    login: { login: foo, password: foo, _csrf_token: 53ebddee1883d7e3d6575d6fb1707a15 } 
    module: login 

MAIS getValues ​​() retourne NULL, getValue ('login ') etc. renvoie NULL aussi bien. Comment ça peut être?

Et non, je ne veux pas utiliser sfGuard-Plugins;)

Répondre

4

Qu'en est-il d'essayer quelque chose comme ça

$form['value_name']->getValue() 

Est-il encore NULL?

Est-il possible que vous ayez créé un validateur de message personnalisé?

+0

wow, il fonctionne de cette façon, merci! et oui, j'ai créé un post validator pour cocher login & passer dans le db ... – Cav

+0

Je demandais parce qu'il est possible que quelque chose ne va pas avec votre validateur ou qu'il ne retourne rien du tout alors vous obtenez une valeur nulle – Serge

+0

putain, vous avez raison, je n'ai pas retourné les valeurs $ ... merci encore! – Cav

0

validation de rappel doit renvoyer les valeurs à l'appelant:

return $values; 
Questions connexes