【问题标题】:Cascade validation on entities with Symfony2使用 Symfony2 对实体进行级联验证
【发布时间】:2014-05-08 17:12:49
【问题描述】:

我想知道如何使用验证器服务对实体执行级联验证。

使用:

$validator = $this->get('validator');
$errorList = $validator->validate($entity);

不执行“实体”子实体的验证。

我很确定它可以通过表单验证(使用'cascade_validation' => true)来完成。

【问题讨论】:

    标签: validation symfony


    【解决方案1】:

    我认为(默认情况下)不会对指向对象的属性进行验证。对于 the traverse optionvalidate() 方法设置为 true 的数组,可以这样做。

    要绕过此限制,您应该考虑使用Valid Constraint

    检查this well explained example 是否使用Valid Constraint 并且在父对象上的处理验证也会检查子对象的验证规则。

    Valid Constraint 还提供了a traverse option,您可以使用它来检查指向对象数组的属性。

    【讨论】:

    • 这里只是一个简短的说明。您不能将验证组传递给 Valid 约束 - 它只有默认组。你很少需要它,但无论如何都要记住。这就是我在使用 Valid 约束时遇到的限制。
    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多