Personaliza los errores de formulario en Symfony2 usando FOSUserBundle

Estoy desarrollando un sitio web usando Symfony2 y FOSUserBundle para el lado del usuario. Estoy tratando de personalizar el formulario de registro y estoy experimentando algunos problemas.

  1. Traté de seguir el documento para incluir errores de campo al lado del campo, pero solo lo muestra en la parte superior del formulario;
  2. Cuando ambas contraseñas no son iguales, hay un error escrito en la parte superior del formulario: El valor no es válido. Esto no está muy claro, y me gustaría traducirlo al francés, pero parece que no puedo encontrarlo en los archivos de idioma. Solía ​​traducir todos los formularios, excepto ese error.

Aquí está mi plantilla de campos:

{% block field_errors %}
{% spaceless %}
{% if errors|length > 0 %}
<ul class="list_error">
{% for error in errors %}
<li>{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}</li>
{% endfor %}
</ul>
{% endif %}
{% endspaceless %}
{% endblock field_errors %}


{% block field_row %}
{% spaceless %}
<tr>
    <td>
        <label for="{{ form.vars.id }}">{{ form.vars.id|trans( {}, "FOSUserBundle" ) }}</label>
    </td>
    <td>
        {{ form_widget(form) }}
        {{ form_errors(form) }}
    </td>
</tr>
{% endspaceless %}
{% endblock field_row %}

preguntado el 27 de julio de 12 a las 20:07

1 Respuestas

El error "no válido" es un poco especial porque es el mismo por defecto para todos los campos. Puede anularlo en las opciones de su campo repetido (o cualquier campo, para el caso):

$builder->add('password', 'repeated', array(
    'type' => 'password',
    'invalid_message' => 'Please enter the same password twice',
));

Por cierto, el burbujeo del error en el formulario raíz para campos repetidos fue un problema que se ha corregido en Symfony 2.1.

Respondido 28 Jul 12, 07:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.