Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/01/2013, 06:36
tiatordos
 
Fecha de Ingreso: enero-2013
Mensajes: 2
Antigüedad: 11 años, 3 meses
Puntos: 0
Symfony2 - validaciones

Hola

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\Entity\Usuario:
    properties:
      nombre:
            - NotBlank: ~
Acme\HelloBundle\Controller\HelloController
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>