5

我有一个带有一些验证器的实体(不是表单)。

所以我使用$validator->validate($entity),但它不验证我的子对象(实体类有一些其他实体类和一些验证器)。

有没有一种“自动”的方式来做到这一点,或者我必须为$errorList->addAll($validator->validate($entity));他们每个人做?

4

1 回答 1

8

要允许对对象进行递归验证,您可以简单地使用 Constraint@Assert\Valid

示例
假设一个人有一个强制性的姓氏

class Person
{
    /**
     * @Assert\NotNull
     * @var string
     */
    protected $lastName;
}

你有一个产品,它有一个买家 ( Person)

class Product
{
    /**
     * @Assert\NotNull
     * @Assert\Valid
     * @var Person
     */
    protected $buyer;
}

通过NotNullValid,每次验证Product模型时,它都会检查:

  • 它有买家
  • 买家有一个lastName
于 2013-08-23T13:03:59.853 回答