Symfony2: validation constraint ignored when submitting form and with multiple validation groups

StackOverflow https://stackoverflow.com/questions/22155666

  •  19-10-2022
  •  | 
  •  

Question

Problem:

The Length constraint is ignored when submitting my form.

Entity:

/**
 * @Assert\Length(min = "6")
 * @Assert\NotBlank(groups={"registro"})
 */
private $password;

FormType:

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
    'data_class' => 'BikeApp\UsuariosBundle\Entity\Usuarios',
    'validation_groups' => array('default', 'registro')
    ));     
}
Was it helpful?

Solution

According to the constant Symfony\Component\Validator\Constraint::DEFAULT_GROUP, the default validation group is not default but Default.

OTHER TIPS

For some reason its not getting called from your entity so try adding the validation constraint in your buildForm() method

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('nombre')
        ->add('apellidos')  
        ->add('email', 'email', array('label' => 'Correo electrónico', 'attr' => array(
            'placeholder' => 'usuario@servidor'
        )))
        ->add('password', 'repeated', array(
            'type' => 'password',
            'invalid_message' => 'Las dos contraseñas deben coincidir',
            'first_options'   => array('label' => 'Contraseña'),
            'second_options'  => array('label' => 'Repite Contraseña'),
            'required'        => true,
            'constraints'     =>array(new Assert\Length(array('min' => 6,'message'=>'La contraseña debe tener al menos {{ limit }} carácteres')))
            ))
        ->add('fechaNacimiento', 'birthday', array('required'=> false, 'widget' => 'single_text'))
        ->add('dni')
        ->add('newsletter', 'checkbox', array('required' => false));    
}

Don't forget to add use before your form class

use Symfony\Component\Validator\Constraints as Assert;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top