Por defecto en Symfony3 genera los mensajes de error {{ form_errors(form) }} de los formularios con el siguiente html:
<ul> <li>Mensaje de error...</li> </ul>
Es posible que necesites personalizar ese html añadiendo alguna clase css, para usar en tu proyecto, bootstrap…
Pasos para añadir la clase css «error» al <ul>:
1. Creamos un archivo twig (/TuBundle/Resources/views/Form/mensajes_error.html.twig) con el bloque/s del mensaje de error que por defecto symfony guarda en el archivo form_div_layout.html.twig.
Y lo editamos a nuestro gusto, en este caso le añadimos la clase «error» a la lista:
{% block form_errors %} {% if errors|length > 0 %} <ul class="error"> {% for error in errors %} <li>{{ error.message }}</li> {% endfor %} </ul> {% endif %} {% endblock form_errors %}
2. Añadimos el archivo twig creado a la configuración por defecto de los formularios de twig editando el archivo /config/config.yml usando «form_themes» de esta forma:
# Twig Configuration twig: form_themes: - "TuBundle:Form:mensajes_error.html.twig"
– – –
Listo! ahora los mensajes de error aparecerán de forma global con este html:
<ul class="error"> <li>Mensaje de error...</li> </ul>
(*) Acuérdate de cambiar «TuBundle» por el nombre de tu bundle.
pd: Y si solo quieres editar los errores de una determinada plantilla en concreto, (te olvidas del paso 2) y en la plantilla twig donde tengas tu formulario le insertas:
{% form_theme form_pass 'TuBundle:Form:mensajes_error.html.twig' %}
Agradezco tu comentario 🤘