Symfony渲染隐藏的表单字段

时间:2013-01-15 20:32:40

标签: php forms symfony

文档建议根据您的类创建表单类,以便可以重用表单。它还向您展示了如何独立于表单类呈现不同的字段,而不是使用{{ form_widget() }}呈现所有字段。

当我构建一个简单的注册页面时,我只想显示User Form类中的一些字段,因此我将它们呈现为{{ form_widget(form.email) }}

然而,因为我独立渲染字段,所以不会呈现隐藏的表单字段'CFTOKEN',这是symfony框架所需要的。因此错误:The CSRF token is invalid. Please try to resubmit the form.

doucmnetation中没有任何内容提及此内容或如何独立呈现隐藏的表单字段...

3 个答案:

答案 0 :(得分:6)

<div style="display: none;">{{ form_rest(form) }}</div>

会让你开始。一旦你在S2上加速,你会发现有很多选择。

例如,将参数传递给UserFormType的构造函数可以很容易地控制创建哪些字段。

答案 1 :(得分:4)

这是真正的唯一途径..

{{ form_widget(form._token) }}

Symfony文档如何显示如何独立呈现每个表单字段,然后说您必须使用{{ form_rest(form) }}生成其他必填字段(如CFtoken),因为它还会呈现您的所有表单字段通过独立完成而不是仅使用{{form_widget()}}

来有意避免rending的表单类

哎呀

答案 2 :(得分:2)

使用以下字段渲染其余字段:{{form_rest(form)}}

http://symfony.com/doc/2.0/reference/forms/twig_reference.html#form-rest-view-variables