Estoy usando Symfony2 y FOSUserBundle.Forzar que no se requiera un campo
Tal como se detalla en la documentación, he reemplazado y he creado una propiedad de "nombre" en la entidad Usuario.
Hago todo lo necesario y finalmente consigo que ese campo se muestre en la vista de formulario.
La cosa es: cuando voy form_widget(form.name)
y se genera la etiqueta html de entrada, se genera una propiedad required = "required" dentro de ella. Y eso hace que el motor rojo la entrada cuando el campo no está lleno.
¿Cómo hago para decirle a Symfony2 que no haga obligatorio ese campo? Supongo que tiene que estar aquí:
parent::buildForm($builder, $options);
// add your custom field
$builder->add('name', 'text', array('label' => 'form.name'));
$builder->remove('username');
o aquí:
/**
* @ORM\Column(type="string", length="255")
*
* @Assert\MinLength(limit="0", message="The name is too short.", groups={"Registration", "Profile"})
* @Assert\MaxLength(limit="255", message="The name is too long.", groups={"Registration", "Profile"})
*/
private $name;
+1 - Tal vez lo que hay que añadir que esto sólo se detiene el HTML5 validación en el elemento de formulario. Todos los asertos, etc. de su entidad todavía están activados y aún deben ser válidos antes de que la entidad pueda ser persistente. – insertusernamehere
¿Hay alguna manera de hacerlo, a través de grupos de validación? Parece que no puedo hacer que afecten los atributos requeridos html5, lo que hace que los grupos de validación sean inútiles para mí. –