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

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

  •  19-10-2022
  •  | 
  •  

Вопрос

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')
    ));     
}
Это было полезно?

Решение

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

Другие советы

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;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top