我有两个实体(让我们称之为A和B)绑定在一对一的关系和一个表格来填充它们。 根据实体A中的状态填充B实体字段,如下所示:
实体A:状态0 实体B:两个字段都是空的
实体A:州1 实体B:字段1填充字段2空
实体A:状态2 实体B:字段1空字段2填充
不允许两个字段填充状态。
所以我制作了3个自定义回调验证器来检查状态1,2并且不允许。 不幸的是,当两个字段都为空时,不会触发检查状态1和2,显然是因为字段为空;在表单中添加假隐藏字段会触发验证过程,因为表单已填充!
显然这是一个hackish解决方案,所以我想知道是否有办法强制进行子表单验证,即使每个表单字段都是空的。
答案 0 :(得分:0)
Symfony不验证表单,它验证实体。您最好的方法是在您的实体中创建验证功能,并使用symfony的“Getters”验证进行验证:
http://symfony.com/doc/2.1/book/validation.html#getters
我相信您的情况,具有验证的实体是与表单类型相关联的实体。