Validation 两个验证组的验证约束

Validation 两个验证组的验证约束,validation,symfony,Validation,Symfony,我用的是symfony2.7 根据两个条件,我试图在实体类中设置必填字段(不是空白)。每个条件都有自己的验证组,我在FormType类中设置了正确的验证组 我试过:@Assert\NotBlank(组={“validationIfCondition1”,“validationIfCondition2}) 这不起作用,因为如果至少使用了一个验证组,它会将字段标记为必需。仅当使用两个验证组时,我才将其标记为必需 这是可行的吗?我知道这是不可能的。如果约束的组与表单验证组相交,则使用约束。 创建组va

我用的是symfony2.7

根据两个条件,我试图在实体类中设置必填字段(不是空白)。每个条件都有自己的验证组,我在FormType类中设置了正确的验证组

我试过:
@Assert\NotBlank(组={“validationIfCondition1”,“validationIfCondition2})

这不起作用,因为如果至少使用了一个验证组,它会将字段标记为必需。仅当使用两个验证组时,我才将其标记为必需


这是可行的吗?

我知道这是不可能的。如果约束的组与表单验证组相交,则使用约束。
创建组validationIfCondition3,将此组添加到具有组validationIfCondition1或validationIfCondition2的所有字段中,并以('validation\u groups'=>'validationIfCondition3')的形式使用此组。

如果条件取决于实体属性,则可以使用组序列提供程序。。。您可以使用自己的逻辑定义将使用哪个组

还可以添加constraint Callback@Assert\Callback(Callback=function1,groups={“validationIfCondition1”,“validationIfCondition2”}),并在函数function1中检查组和值函数function1($object,ExecutionContextInterface$context){$groups=$context->getRoot()->getConfig()->getOption('validation_groups');var_dump($object);var_dump($groups);}