我已通过
在我的表单中启用了validation_groups
$resolver->setDefaults([
'translation_domain' => 'general',
'data_class' => 'Software\Bundle\Entity\User',
'attr' => ['novalidate' => 'novalidate'],
'cascade_validation' => true,
'validation_groups' => ['registration']
]);
和User.yml文件包含
emailAddress:
- NotBlank:
groups: [registration]
但是在我的表单构建器方法中,我确实有额外的自定义约束
$options = [
'label' => 'word.email_address',
'constraints'=> [
new HasUsername($this->getOption('uuid'))
]
];
return $builder->add('emailAddress', 'email', $options);
问题是,由于validation_groups
已启用,因此永远不会调用表单构建器中的那个。因为当我禁用validation_groups
时,会调用自定义的一个。
表单构建器中的validation_groups
约束和约束是否可以同时工作?
我需要在表单构建器中调用自定义约束的原因是因为我需要传递重要变量uuid
才能正确检查uuid
用户所属的。
答案 0 :(得分:2)
在验证组属性中使用默认值
'validation_groups' => ['registration', 'Default']