如何根据提交的数据选择验证组
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
如何根据提交的数据选择验证组
如果您需要一些高级逻辑来确定验证组(例如,基于提交的数据),您可以设置validation_groups
数组回调的选项:
12 3 4 5 6 7 8 9 10 11 12 13
使用AppBundle\实体\客户端;使用ob娱乐下载\组件\OptionsResolver\OptionsResolver;/ /……公共函数configureOptions(OptionsResolver$解析器){$解析器->setDefaults ([“validation_groups”=>[客户端::类,“determineValidationGroups”,],]);}
这将调用静态方法determineValidationGroups ()
在客户端
在提交表单后,但在执行验证之前,初始化。Form对象作为参数传递给该方法(参见下一个示例)。您还可以使用关闭
:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
使用AppBundle\实体\客户端;使用ob娱乐下载\组件\形式\FormInterface;使用ob娱乐下载\组件\OptionsResolver\OptionsResolver;/ /……公共函数configureOptions(OptionsResolver$解析器){$解析器->setDefaults ([“validation_groups”= >函数(FormInterface$形式){$数据=$形式->getData ();如果(客户端::TYPE_PERSON = =$数据->方法()){返回[“人”];}返回[“公司”];}));}
使用validation_groups
选项将覆盖正在使用的默认验证组。如果你想验证实体的默认约束,你必须调整如下选项:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
使用AppBundle\实体\客户端;使用ob娱乐下载\组件\形式\FormInterface;使用ob娱乐下载\组件\OptionsResolver\OptionsResolver;/ /……公共函数configureOptions(OptionsResolver$解析器){$解析器->setDefaults ([“validation_groups”= >函数(FormInterface$形式){$数据=$形式->getData ();如果(客户端::TYPE_PERSON = =$数据->方法()){返回[“默认”,“人”];}返回[“默认”,“公司”];}));}
您可以在关于验证组和默认约束的文章中找到有关如何工作的更多信息验证组.
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。