Para ser cierto, la forma no está directamente relacionada con la validación. Déjame explicar esto.
El componente de formulario es responsable de mapear los datos recibidos del cliente, ya sea datos GET o POST. Por lo tanto, mapeará la cadena al objeto de su código (puede ser una matriz si no es vinculante para una entidad).
Formulario de uso del componente validador para validar la entidad después de que se le han asignado los datos. Esto significa que la validación de la entidad está totalmente desacoplada del componente de formulario. Entonces, cuando se valida el formulario, realmente significa que el componente del formulario valida su entidad y no los datos del formulario. Lo que se valida es la entidad, no la forma.
El formulario se utiliza únicamente para tomar una representación de cadena y asignarla a la jerarquía de entidades. La documentación refleja esto ya que Form y Validation son secciones distintas de symfony book.
Dicho esto, esto también significa que la validación de entidades se puede hacer fuera del componente de formulario con gran facilidad. Usted define constaints como anotaciones o en un archivo externo (yml, php o xml) y utiliza el componente validador para validar su entidad. Aquí un ejemplo de código tomado de la sección Validation del libro:
use Symfony\Component\HttpFoundation\Response;
use Acme\BlogBundle\Entity\Author;
// ...
public function indexAction()
{
$author = new Author();
// ... do something to the $author object
$validator = $this->get('validator');
$errors = $validator->validate($author);
if (count($errors) > 0) {
return new Response(print_r($errors, true));
} else {
return new Response('The author is valid! Yes!');
}
}
Como se puede ver, no hay forma en juego aquí, solamente un objeto y el servicio validador. Además, el componente de validación de Symfony2 es completamente independiente. Esto significa que puede usarlo sin todo el marco. Dicho esto, cuando se usa de forma independiente, se pierde una buena integración con otras cosas.
De esta forma, su servicio REST recibe parámetros, crea entidades a partir de él y utiliza el servicio del validador para validar su integridad. El uso del formulario no es obligatorio para validar entidades.
Maravillosa respuesta, muchas gracias. – vinnylinux
Esta respuesta fue absolutamente perfecta para mí al crear mi API RESTful. – Seer
¡Hola! ¿Es posible validar una solicitud ?, por ejemplo, en mi solicitud, estoy enviando un correo electrónico y una clave, por lo que quiero validar esta solicitud con estos dos campos sin un formulario. – SoldierCorp