Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Editar los mensajes de los errores en los formularios de Symfony2

7 de abril de 2015

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

#1

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

7 abril 2015, 9:07
#2

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

8 abril 2015, 0:42