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>