缺少Symfony表单值

时间:2010-04-18 15:20:42

标签: forms binding symfony1

我正在编写一个简单的登录表单,一切正常(验证等)但我无法获取值,这是我的代码:

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-> login为NULL。现在我检查了几乎所有内容,表单有效,isBound()为true,count()返回3,我可以在请求中看到值:

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

但是getValues()返回NULL,getValue('login')等也返回NULL。怎么会这样?

不,我不想使用sfGuard-Plugins;)

2 个答案:

答案 0 :(得分:4)

尝试这样的事情

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

它仍然是NULL吗?

您是否有可能创建自定义帖子验证器?

答案 1 :(得分:1)

回调验证必须将值返回给调用者:

return $values;