文档建议根据您的类创建表单类,以便可以重用表单。它还向您展示了如何独立于表单类呈现不同的字段,而不是使用{{ form_widget() }}
呈现所有字段。
当我构建一个简单的注册页面时,我只想显示User Form类中的一些字段,因此我将它们呈现为{{ form_widget(form.email) }}
。
然而,因为我独立渲染字段,所以不会呈现隐藏的表单字段'CFTOKEN',这是symfony框架所需要的。因此错误:The CSRF token is invalid. Please try to resubmit the form.
doucmnetation中没有任何内容提及此内容或如何独立呈现隐藏的表单字段...
答案 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()}}
哎呀
答案 2 :(得分:2)
使用以下字段渲染其余字段:{{form_rest(form)}}
http://symfony.com/doc/2.0/reference/forms/twig_reference.html#form-rest-view-variables