Si deseamos validar un objeto que no esté asociado a un formulario, debemos hacer uso del servicio validator. El trabajo del validador es fácil: lee las restricciones (es decir, las reglas) de una clase y comprueba si los datos en el objeto satisfacen esas restricciones. Si la validación falla, devuelve un arreglo de errores. Veamos un ejemplo sencillo:
use Symfony\Component\HttpFoundation\Response;
use Acme\BlogBundle\Entity\Autor;
// ...
public function indexAction()
{
$autor = new Autor();
// ... haz
algo con el objeto $autor, como asignar los valores de sus propiedades a partir de datos enviados en el formulario
$validador = $this->get(’validator’);
$errores = $validador->validate($autor);
if (count($errores) > 0) {
return new Response(print_r($errores, true));
} else {
return new Response(’¡El autor es válido!¡Sí!’);
}
}
Para tu caso particular sería recuperar el objeto Request para obtener los datos enviados en el formulario y luego asignarlos al objeto para posteriormente validar el objeto, lo que yo voy a probar (aún no he tenido el tiempo de hacerlo) es de que al momento de generar el formulario, con algo que no sea el componente de formularios de Symfony2, se creen los nombres de los controles tal como lo hace el componente para poder mandar el formulario, con ajax o normal, y que al recibirlo se pueda realizar un simple $formulario->bindRequest($peticion); claro que además de los nombres de los controles además deberá haber (supongo) otro información de control para el Componente de formularios.--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/symfony-es/-/MidcOHyYkiMJ.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.
$.achtung({message: 'El dato fue guardado', timeout:5});else$.each(data.msg,function(key,val){$.achtung({message: 'Campo \"'+key+"\" : "+val, timeout:5});});
{"code":false,"msg":{"siglas":"Este valor no deber\u00eda estar vac\u00edo","serial":"Este valor no deber\u00eda estar vac\u00edo"},"locale":"es_ES"}Claro la variable locale, no la utilizo en este momento para nada, solo queria que las verificar que las validaciones me las mandara en español, bueno de nuevo muchas gracias hermano y que viva el software libre.......