我有一个使用Symfony安全系统的登录表单。
我现在想要自定义错误消息,例如,如果输入无效凭据,Symfony将返回“Bad Credentials”。如何将该消息自定义为“无效的电子邮件/密码”?
答案 0 :(得分:1)
对于这个,并且只针对这个,这不是验证错误,而是一个错误发送到控制器的异常消息......
如果我记得,你可以在messages.yml
文件中覆盖它(根据需要扩展名为.yml或.xliff):
"Bad credentials": "Invalid email/password"
这真的很丑,但这是实现登录错误的唯一方法。 “提供的密码不能为空”或“提供的密码无效”的相同修复程序......
而且,在Twig模板中,您必须应用翻译器:
{% if error %}
<p class="error">{{ error.message|trans }}</p>
{% endif %}
答案 1 :(得分:-1)
您使用的是FOSUserBundle吗?如果是,则所有消息都存储在翻译文件中。
将翻译文件从FOSUserBundle \ Resources \ translations复制到覆盖FOSUserBundle的UserBundle。
只要您知道自己在做什么,Symfony就可以高度自定义。