este es mi primer mensaje en el foro...
El caso es que estoy intentando configurar las validaciobnes de formularios, pero no hay manera... simplemente no hace nada y me devuelve al formulario...
dejo el código por si alguien ve que estoy haciendo mal. Gracias
Acme\HelloBundle\Resources\config\validation.yml
Código:
Acme\HelloBundle\Controller\HelloController Acme\HelloBundle\Entity\Usuario: properties: nombre: - NotBlank: ~
Código:
class HelloController extends Controller { //put your code here public function indexAction(Request $request) { $usuario = new Usuario(); $usuario->setNombre('usuario'); $usuario->setContrasenia('contrasenia'); $form = $this->createFormBuilder($usuario) ->add('nombre', 'text') ->add('contrasenia', 'password') ->getForm(); if ($request->getMethod() == 'POST') { $form->bindRequest($request); if ($form->isValid()) { // realiza alguna acción, tal como guardar la tarea en la base de datos $url='entrar/'.$form->getData()->getNombre(); return $this->redirect($url); } } return $this->render('AcmeHelloBundle:Default:index2.html.twig', array('form' => $form->createView())); //return $this->render('AcmeHelloBundle:Default:index.html.twig'); } }
Acme\HelloBundle\DependencyInjection\AcmeHelloExte nsion;
Código:
... $yamlMappingFiles = $container->getParameter('validator.mapping.loader.yaml_files_loader.mapping_files'); $yamlMappingFiles[] = __DIR__.'/../Resources/config/validation.yml'; $container->setParameter('validator.mapping.loader.yaml_files_loader.mapping_files', $yamlMappingFiles); ...
html.twig
Código:
<form method="POST" action="{{ path('hello') }}"> <div id="username_input"> <div id="username_inputleft"></div> <div id="username_inputmiddle"> {{ form_widget(form.nombre, { 'attr': {'onclick': "this.value=''"} }) }} </div> <div id="username_inputright"></div> </div> <div id="password_input"> <div id="password_inputleft"></div> <div id="password_inputmiddle"> {{ form_widget(form.contrasenia, { 'attr': {'onclick': "this.value=''"} }) }} </div> <div id="password_inputright"></div> </div> <div id="submit"> <input type="image" src="{{ asset('bundles/hello/images/submit.png') }}" id="submit1" value="Sign In"> </div> </form>