我想知道如何使用验证器服务对实体进行级联验证。
使用:
$validator = $this->get('validator');
$errorList = $validator->validate($entity);
不执行"实体的验证"儿童实体。
我非常确定可以使用表单验证(使用'cascade_validation' => true
)来完成它。
答案 0 :(得分:6)
我认为(默认情况下)验证不会在指向对象的属性上处理。对于validate()
方法设置为true
the traverse option的数组,可以执行此操作。
要绕过此限制,您应该考虑使用Valid Constraint。
使用this well explained example检查Valid Constraint,并且父对象上的处理验证还会检查子对象验证规则。
Valid Constraint还提供了a traverse option,可用于检查指向对象数组的属性。