【发布时间】:2011-11-02 22:14:18
【问题描述】:
我有一个 sfForm 表单 myForm,其中嵌入了另一个对象表单。
我在模板中这样打印:
<?php echo $myForm; ?>
据我所知,它应该默认打印隐藏字段,但它只打印id隐藏字段,而不是_csrf_token,这是为什么呢?
如果我尝试使用echo $myForm['_csrf_token']; 打印它,它会很好地打印该字段。
如果我使用echo $myForm->renderHiddenFields();,它会第二次打印_csrf_token 字段以及id 隐藏字段..
在myForm 我试过enableLocalCSRFProtection() 还是不行。
知道如何让myForm 默认呈现_csrf_token 字段吗?
【问题讨论】:
-
你在 settings.yml 中设置了 csrf_secret 值吗? symfony-project.org/reference/1_4/en/…
-
是的。当我使用我的学说形式时,它工作得很好.. 只有 sfForm 让我很难过
-
除非有人在 SfFormSymfony 类周围被黑,否则我认为这是因为您嵌入了表单。也许尝试一个没有嵌入的表格,看看这是否确实是原因。抱歉,我不能提供更多帮助。
-
好的,谢谢!确实是嵌入形式导致了问题!我有一个自定义 SchemaFormatter 忽略嵌入表单的标签(因为它在打印时很难看)但我搞砸了隐藏字段的打印......所以现在没关系,谢谢! :)(把它写成asnwer,我会接受的)