Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms Zikula CSRF令牌无效_Forms_Symfony_Zikula - Fatal编程技术网

Forms Zikula CSRF令牌无效

Forms Zikula CSRF令牌无效,forms,symfony,zikula,Forms,Symfony,Zikula,我正在修改模板edit.html.twig以隐藏任何字段。 我也修改了控制器中的editAction以加载我的模板。 我的CSRF有问题。当我提交表单时,令牌CSRF无效。我尝试重新加载表单,但结果相同。(该模块是在MOST1.1.0和ZK2.0.2中创建的,我正在修改edit.html.twig) 有什么问题吗 我已尝试插入已擦除的字段,但问题仍然存在 消息错误:“CSRF令牌无效。请尝试重新提交表单。” _代币( “Symfony\Component\Form\Extension\Core\

我正在修改模板edit.html.twig以隐藏任何字段。 我也修改了控制器中的editAction以加载我的模板。 我的CSRF有问题。当我提交表单时,令牌CSRF无效。我尝试重新加载表单,但结果相同。(该模块是在MOST1.1.0和ZK2.0.2中创建的,我正在修改edit.html.twig)

有什么问题吗

我已尝试插入已擦除的字段,但问题仍然存在

消息错误:“CSRF令牌无效。请尝试重新提交表单。” _代币( “Symfony\Component\Form\Extension\Core\Type\HiddenType” )

我检测到没有在模板中创建令牌。如果我有这个代码,就会生成令牌。 {{form_end(form)}}
如果我将代码更改为: {{form_end(form,{'render_rest':false}}} 未生成令牌

因此,我必须补充一点 {{form_小部件(form._令牌)} 现在生成了令牌,但当我提交表单时,我收到了相同的消息“CSRF令牌无效。请尝试重新提交表单。”

您应该使用

{{ form_end(form) }}
再次执行以下操作,以删除不需要的字段

编辑模块/YourVendor/YourAppModule/Form/Type/YourFormType.php并添加如下内容:

use Symfony\Component\Form\FormBuilderInterface;

...

/**
 * @inheritDoc
 */
public function buildForm(FormBuilderInterface $builder, array $options)
{
    parent::buildForm($builder, $options);

    $builder->remove('yourUnwantedField');
}
最后,将已修改的文件路径添加到模型设置容器的
skipFiles
属性中:

skipFiles "
    Form/Type/YourFormType.php
"

这可确保生成器不会重新创建和覆盖此文件,因此您的自定义代码在重新生成后也会保留。

遗憾的是,我们无法提供更多信息来帮助您。请阅读并提供您收到的特定代码和错误消息。我已用代码更新帖子。正确,但我有相同的消息和令牌。我已经编辑了我的帖子。我不想只在模板中隐藏字段。我想更改更多细节,因此答案对我来说是无效的。。谢谢