我需要在登录三个字段中验证,以便用户可以进入应用程序,我只需要一个小例子,如何做或更好仍然在哪里是真正负责在fosuserbundle中验证的方法,按顺序能够覆盖它
答案 0 :(得分:1)
您需要创建一个新的验证组,覆盖FOSUser的形式并在其中应用您的新验证组。
如果您的对象利用了验证组,则需要指定表单应使用的验证组:
$form = $this->createFormBuilder($users, array(
'validation_groups' => array('registration'),
))->add(...);
如果您正在创建表单类(一个好的做法),那么您需要将以下内容添加到configureOptions()方法中:
use Symfony\Component\OptionsResolver\OptionsResolver;
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'validation_groups' => array('registration'),
));
}
https://symfony.com/doc/current/validation/groups.html
请注意,FOSUser使用XML格式的验证说明,您无法覆盖验证文件,您只能创建新的验证组并使用自己的表单