我正在编写一个简单的登录表单,一切正常(验证等)但我无法获取值,这是我的代码:
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;)
答案 0 :(得分:4)
尝试这样的事情
$form['value_name']->getValue()
它仍然是NULL吗?
您是否有可能创建自定义帖子验证器?
答案 1 :(得分:1)
回调验证必须将值返回给调用者:
return $values;