我在nameType.php
中声明了一个表单,并且该视图呈现了所有字段,但我想手动添加另一个字段。
形式:
<form action="{{ path('create') }}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
<input type="text" value="2">
</form>
获取控制器中的值:
$form->bindRequest($request);
如何收集控制器中输入的值?
答案 0 :(得分:54)
如果您正在尝试此操作,因为表单已链接到您的实体字段,您可以向FormType添加一个未映射的字段。然后,您的实体不需要getter和setter。
->add("inputName", "text", array("mapped"=>false, "data"=>2, "label"=>false))
要获取控制器中的数据:
$form->get("inputName")->getData();
答案 1 :(得分:4)
您无法从input
检索$form
值,因为它不属于它。
您必须使用request
属性从Controller
中的name
检索它:
HTML:<input type="text" value="2" name"var_name">
控制器:$request->request->get('var_name')
答案 2 :(得分:3)
如何收集输入到控制器的值?
即时满足的方式是使用
$form->get('inputName')->getViewData()
表示未映射的字段。但我确信有更好的方法符合Symfony验证。
答案 3 :(得分:0)
致电$form->bindRequest($request)
后,您可以致电:$form->getData()
获取用户的意见。
但是如果你想接收未映射的字段的输入数据,你需要使用提到的$request->request->get('field_name')
。