Hola a toda la comunidad, mi pregunta es con respecto a los formularios de Symfony; específicamente si puedo editar los mensajes de los errores (ejemplo {{ form_errors(form.email) }}
). Quisiera acceder a este y mostrar un mensaje personalizado con CSS. Gracias
Respuestas
Si quieres controlar desde la plantilla el contenido y el aspecto de los mensajes de error, puedes hacer lo siguiente:
{% if not form.email.vars.valid %} {# mensaje de error personalizado #} {% endif %}
Sin embargo, en mi opinión hacer esto es un error muy grave. Estás haciendo que tus plantillas tengan cierta lógica de negocio y estás poniendo cosas como la gestión de errores en un lugar que no le pertenece.
La forma más limpia de hacer lo que quieres sería definir el mensaje de error propio en la entidad Doctrine o en la clase del formulario. Después, modificas el aspecto del mensaje de error usando las funciones para personalizar formulairos:
<div> {{ form_label(form.email) }} {{ form_errors(form.email) }} {# <-- añade aquí el CSS y HTML que quieras #} {{ form_widget(form.email) }} </div>
@javiereguiluz
Yo lo que hago para añadirle un CSS al error es esto:
{% if form_errors(field) != '' %} <br> <div class="alert alert-danger fade in"> <a data-dismiss="alert" class="pull-right" href="" type="button"> <i class="fa fa-times"></i> </a> <strong>Error</strong><br> {{ form_errors(field)}} </div> {% endif %}
@TsubasaAkai