Login 自定义身份验证-登录Symfony2消息

Login 自定义身份验证-登录Symfony2消息,login,symfony,messages,customization,Login,Symfony,Messages,Customization,所以我在读Symfony2书的安全章节。我了解一切,但如果出现登录错误,我想自定义错误消息 我可以在哪个文件中更改此项 这是模板: {% if error %} <div>{{ error.message }}</div> {% endif %} <form action="{{ path('login_check') }}" method="post"> <label for="username">Username:</label

所以我在读Symfony2书的安全章节。我了解一切,但如果出现登录错误,我想自定义错误消息

我可以在哪个文件中更改此项

这是模板:

{% if error %}
    <div>{{ error.message }}</div>
{% endif %}

<form action="{{ path('login_check') }}" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="_username" value="{{ last_username }}" />

<label for="password">Password:</label>
<input type="password" id="password" name="_password" />

{#
    If you want to control the URL the user is redirected to on success (more details below)
    <input type="hidden" name="_target_path" value="/account" />
#}

<input type="submit" name="login" />
你能帮我吗


编辑:我让它工作了:

如果有人需要这样做,请确保将此行添加到config.yml

#app/config/config.yml
framework:
    translator: { fallback: en }
并将messages.whateverisyourlanguage.yml文件放入messages.es.yml中,像这样的行:

要翻译的文本:已翻译文本

#Foo\DummyBundle\Resources\translations\messages.es.yml
The presented password cannot be empty.: El campo contrasena no debe estar vacio
The presented password is invalid.: Los datos suministrados son incorrectos
Bad credentials: Los datos suministrados son incorrectos
小心你要翻译的文本。如果文本末尾有一个点,你就必须把这个点放进去。我没有那样做,也没用

footranslate.
不同于
footranslate

你好!:)

您可以使用。在
parameters.ini中
中输入您的语言并创建。然后在细枝模板中使用:

{% if error %}
    <div class="error">{{ error.message|trans({},'messages') }}</div>
{% endif %}
{%if错误%}
{{error.message}trans({},'messages')}
{%endif%}

如果您不想使用翻译,还有另一种可能性。您可以只替换消息,例如:

{{ error.message | replace({"Bad credentials." : "Invalid username or password."}) }}

好的,谢谢。现在,在哪里可以找到登录表单应该抛出的所有错误消息?我相信我必须准确地把信息放在信息文件上,这样我才能把它们全部翻译出来,但我不确定它们是哪些消息。只有很少的消息–请查看位于
/vendor/symfony/src/symfony/Component/Security/Core/Authentication/Provider/
中的文件中的异常消息。这里也有消息:vendor\symfony\src\symfony\Component\Security\Core\User\UserChecker.php
{{ error.message | replace({"Bad credentials." : "Invalid username or password."}) }}