我在一些验证组中组织了一个大型表格.对于表单中的每个组,都有一个相应的复选框,告诉服务器保存组数据.
当用户发布表单时,我需要仅验证与已选中复选框相对应的验证组,因为它们的某些“子”字段是必需的,但仅当您激活该组时才需要.否则验证器必须忽略必填字段.
实际上我在我的控制器中这样做.我跳过Symfony的正常验证周期并手动验证每个字段检查组激活复选框.
如何在Form类或实体使用的特定Constraint类中移动此验证逻辑?
编辑:
如下所述可能在symfony 2.1中,现在我解决了:
$request = $this->get('request');
// myEntity knows the business logic to chose validation groups
$myEntity->collectValidationGroups($request);
$form = $this->createForm(new MyEntityType(), $myEntity);
最佳答案 如果您使用的是Symfony 2.1,则可以根据提交的数据设置验证组.检查
this部分.