我有一个标准的登录表单,我使用createFormBuilder()方法构建。当我尝试 使用
获取输入$this->get('request')->request->get('userName');
我得到NULL beacuse $ this-> get('request') - > request是一个ParameterBag对象,只有输入值的'form'字段。所以,当我这样做...
$this->get('request')->request->get('form')
我得到了所需的结果但是在一个数组中
array(
'userName' => 'Dude',
'password' => 'password'
);
这很好,但有更直观的方法来获取POST数据吗?
我发现了这个StackOverflow answer,但没有帮助。
我还尝试将Request对象作为控制器方法中的参数,但没有结果。
答案 0 :(得分:0)
基本上,我将首先验证表单是否有效。然后,我将绑定表单对象并使用该表单来获取一些数据。因此,代码应如下所示:
if ($request->getMethod('post') == 'POST') {
// Bind request to the form
$form->submit($request);
// If form is valid
if ($form->isValid()) {
// Get data from the userName field
$username = $form->get('userName')->getData();
}
}