2010-04-18 3 views
3

я писал простую форму для входа, все работает отлично (проверки и т.д.), но я не могу получить значение, есть мой код:Symfony значения формы отсутствует

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-> Войти является NULL , Теперь я проверил почти все, форма действительно, isBound() истинно, граф() возвращает 3, я могу увидеть значения в моей просьбе:

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

НО GetValues ​​() возвращает NULL, ПолучитьЗначение ('логин ') и т. д. также возвращает NULL. Как это может быть?

И нет, я не хочу использовать sfGuard-плагинов;)

ответ

4

насчет попробовать что-то вроде этого

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

Это все еще NULL?

Возможно ли, что вы создали специальный валидатор сообщений? Проверка

+0

ничего себе, это работает именно так, спасибо! и да, я создал почтовый валидатор для проверки входа и передачи в db ... – Cav

+0

Я спрашивал, потому что возможно, что что-то не так с вашим валидатором или что оно ничего не возвращает, так что вы получаете значение NULL – Serge

+0

проклятье, вы правы, я не вернул $ values ​​... еще раз спасибо! – Cav

0

Обратный вызов должен возвращать значения обратно абоненту:

return $values; 
Смежные вопросы