Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony2+;FOSUserbundle+;动态更改验证组_Symfony_Fosuserbundle - Fatal编程技术网

Symfony2+;FOSUserbundle+;动态更改验证组

Symfony2+;FOSUserbundle+;动态更改验证组,symfony,fosuserbundle,Symfony,Fosuserbundle,我是Symfony2的新手,因此我是FOSUserbundle的新手,我所写的登记表根据公司或个人的情况有不同的必填字段,我设置了这些字段,如果我在fos配置中硬编码valdiation组,它将工作,但我需要的是根据表单提交数据动态设置它,我尝试如下: 看到FOSUserbundle使用了不推荐使用的选项ResolvePrinterface,我甚至尝试了使用该选项,但无论我做什么,都不会调用它 因此,我的问题是,根据提交的数据,使用该捆绑包动态更改valdiation组的正确方法是什么?我自己

我是Symfony2的新手,因此我是FOSUserbundle的新手,我所写的登记表根据公司或个人的情况有不同的必填字段,我设置了这些字段,如果我在fos配置中硬编码valdiation组,它将工作,但我需要的是根据表单提交数据动态设置它,我尝试如下:

看到FOSUserbundle使用了不推荐使用的选项ResolvePrinterface,我甚至尝试了使用该选项,但无论我做什么,都不会调用它


因此,我的问题是,根据提交的数据,使用该捆绑包动态更改valdiation组的正确方法是什么?

我自己知道了该怎么做,因为我在互联网上找不到解决方案,在这里回答我自己的问题,以防其他人也需要:

在config.yml中,我像这样设置validationgroup

validation_groups: [AppBundle\Form\Type\RegistrationFormType, determineValidationGroups]
那么在这个班级里:

public static function determineValidationGroups(FormInterface $form){
...
}
其中一个返回一个带有验证组的数组,只是不要忘记包括注册,例如注册,否则它不会验证用户是否已经存在等等