在Symfony2.1中手动更改或捕获无效CSRF令牌的消息

时间:2012-11-19 11:32:54

标签: symfony-forms symfony-2.1 csrf-protection

我正在使用 Symfony2.1 。 它为表单提供内置的 CSRF保护。 CSRF令牌无效时返回的错误消息是:“ CSRF令牌无效。请尝试重新提交表单”。

我使用经典调用在我的Twig模板的表单顶部显示它:

{{ form_errors(form) }}  

如何更改返回的消息?

另一方面,更高级的可能性是捕获此错误类型,以便在我的Twig模板中显示许多选项/链接。 有什么想法吗?

1 个答案:

答案 0 :(得分:5)

您是否尝试在文件validators.{locale_code}.yml中设置密钥The CSRF token is invalid. Please try to resubmit the form的翻译? 要更改默认消息,您可以尝试这样做:

 #MyBundle\Resources\translations\validators.en.yml

 The CSRF token is invalid. Please try to resubmit the form : My custom CSRF error

错误消息被抛出here并且它是FormError类...因此应该可以翻译它。