According to the constant Symfony\Component\Validator\Constraint::DEFAULT_GROUP
, the default validation group is not default
but Default
.
Symfony2: validation constraint ignored when submitting form and with multiple validation groups
-
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')
));
}
解決
他のヒント
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;
所属していません StackOverflow