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