此解决方案从2.3开始弃用,并将在3.0中删除,请参阅文档
$form->getData();
给你一个数组的形式参数
摘自symfony2书第162页(第12章:表格)
[…]有时,您可能只想使用没有类的表单,并取回已提交数据的数组。这实际上非常简单:
public function contactAction(Request $request) { $defaultData = array('message' => 'Type your message here'); $form = $this->createFormBuilder($defaultData) ->add('name', 'text') ->add('email', 'email') ->add('message', 'textarea') ->getForm(); if ($request->getMethod() == 'POST') { $form->bindRequest($request); // data is an array with "name", "email", and "message" keys $data = $form->getData(); } // ... render the form}
您还可以直接通过请求对象访问POST值(在这种情况下为“名称”),如下所示:
$this->get('request')->request->get('name');
但是,请注意,在大多数情况下,使用getData()方法是一个更好的选择,因为在表单框架对数据进行转换之后,它会返回数据(通常是对象)。
当您要访问表单令牌时,必须使用问题的答案,
$postData =$request->request->get('contact');因为
getData()从数组中删除了元素
Symfony 2.3
从2.3开始,您应该使用
handleRequest而不是
bindRequest:
$form->handleRequest($request);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)