19

我有一个声明的表单nameType.php,视图呈现所有字段,但我想手动添加另一个字段。

形式:

<form action="{{ path('create') }}" method="post" {{ form_enctype(form) }}>
    {{ form_widget(form) }}
    <input type="text" value="2">
   </form>

并获取控制器中的值:

$form->bindRequest($request);

如何收集控制器中输入的值?

4

4 回答 4

62

如果您尝试这样做是因为表单已链接到您的实体字段,您可以将字段添加到未映射的 FormType。那么您就不需要实体上的 getter 和 setter 了。

->add("inputName", "text", array("mapped"=>false, "data"=>2, "label"=>false))

获取控制器中的数据:

$form->get("inputName")->getData();
于 2013-09-11T16:40:22.590 回答
4

您无法input从 中检索值$form,因为它不是其中的一部分。

您必须使用属性从request中检索它:Controllername

HTML:<input type="text" value="2" name"var_name">

控制器:$request->request->get('var_name')

于 2013-09-11T16:33:50.427 回答
3

如何收集控制器的输入值?

即时满足的方法是使用

$form->get('inputName')->getViewData()

对于未映射的字段。但我确信有更好的方法符合 Symfony 验证。

于 2015-03-11T18:56:08.380 回答
0

调用后,$form->bindRequest($request)您可以调用:$form->getData()以获取用户的输入。

但是,如果您想接收未映射字段的输入数据,则需要使用提到$request->request->get('field_name')的 .

于 2013-09-11T16:39:45.603 回答