isvalid form component php symfony symfony-forms

php - component - symfony using form



Agregando un error especĂ­fico de campo desde el controlador en Symfony2 (1)

Tengo una validación compleja en mi formulario de Symfony y necesito poder asignar un error a un campo específico desde mi controlador. En este momento, tengo errores globales trabajando así:

$error = new formerror("There is an error with the form"); $form->addError($error);

Pero eso crea un error global, no uno vinculado a un campo específico.

¿Hay una manera de lanzar un error en un campo específico de mi controlador?


Gracias a un poco de ayuda sobre IRC (¡gracias @fkrauthan!) Se me ocurrió una respuesta.

Cada campo en SF2 es en realidad una instancia de formulario. Lo que debe hacer es acceder al objeto formulario del campo y agregar luego un error en él. Afortunadamente, Symfony proporciona un método para obtener un formulario / campo incrustado.

Aquí está mi código:

$error = new FormError("There is an error with the field"); $form->get(''field'')->addError($error);

Como algunas personas han señalado, deberá incluir la clase FormError en la parte superior de su archivo: use Symfony/Component/Form/FormError;