form example error login symfony messages customization

login - example - Personalizar autenticación-Iniciar sesión en mensajes Symfony2



symfony error login (2)

Así que estoy leyendo el capítulo de seguridad de Symfony2 Book. Entiendo todo, pero me gustaría personalizar el mensaje de error si hay un error de inicio de sesión.

¿En qué archivo puedo cambiar esto?

Esta es la plantilla:

{% 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" />

Creo que la peor manera de hacer esto sería algo como:

if (error.message=="Bad credentials") echo "Los datos son erróneos :)" if (error.message==The presented password is invalid") echo "La combinación username/password no es correcta :)"

Podrias ayudarme por favor?

Edit: Lo tengo funcionando:

En caso de que alguien tenga que hacer esto, asegúrese de agregar esta línea al config.yml

#app/config/config.yml framework: translator: { fallback: en }

y coloque en el archivo messages.whateverisyourlanguage.yml, en mi caso messages.es.yml, líneas como esta:

Texto que quieres traducir: texto traducido.

#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

Ten cuidado con el texto que quieres traducir. Si el texto tiene un punto al final, tienes que poner el punto. No estaba haciendo eso y no estaba funcionando.

footranslate. es diferente a footranslate

¡Saludos! :)


Hay otra posibilidad si no quieres usar traducciones. Puede simplemente reemplazar el mensaje, por ejemplo:

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