这可以验证没有formBuilder创建的表单吗?

时间:2017-05-02 15:07:30

标签: php symfony

正如我在标题中所说的那样。我在树枝文件中创建了一个表单

<form action="{{ path('domain_confirm') }}" method="post" id="choose-domain-form">
   {% for domain, price in data %}
       <tr>
           <td>
               {{ domain }}
           </td>
           <td></p>{{ price }} €</td>
           <td><input class="domain-purchase-checkbox" type="checkbox" name="domaintest" value="{{ domain }}" data-price="{{ price }}"></td>
       </tr>
   {% endfor %}
</form>

如何验证此表单并从我的Controller中的此表单中获取数据?

当我尝试使用

获取这些数据时
$request->request->get('form');

我收到null回复

你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

至于验证,您必须使用formBuilder创建一个表单并以这种方式验证它。但是,您可以使用Symfony Validators验证输入,但不建议这样做。

我强烈建议您使用提供的表单构建器,因为它有很多您想要的功能,例如CRSF和......验证,以及自动映射到您的实体。

至于在这种特定情况下获取数据,您需要致电:

$request->request->all(); 

但是,我看到您的所有复选框都具有相同的“名称”属性,您需要将其从name="domaintest"更改为name="domaintest[]"。 当你打电话:

$request->request->get('domaintest'); 

您将收到一个包含值的数组。