我有一个带有一些验证器的实体(不是表单)。
所以我使用$validator->validate($entity)
,但它不验证我的子对象(实体类有一些其他实体类和一些验证器)。
有没有一种“自动”的方式来做到这一点,或者我必须为$errorList->addAll($validator->validate($entity));
他们每个人做?
我有一个带有一些验证器的实体(不是表单)。
所以我使用$validator->validate($entity)
,但它不验证我的子对象(实体类有一些其他实体类和一些验证器)。
有没有一种“自动”的方式来做到这一点,或者我必须为$errorList->addAll($validator->validate($entity));
他们每个人做?
要允许对对象进行递归验证,您可以简单地使用 Constraint@Assert\Valid
示例
假设一个人有一个强制性的姓氏
class Person
{
/**
* @Assert\NotNull
* @var string
*/
protected $lastName;
}
你有一个产品,它有一个买家 ( Person
)
class Product
{
/**
* @Assert\NotNull
* @Assert\Valid
* @var Person
*/
protected $buyer;
}
通过NotNull
和Valid
,每次验证Product
模型时,它都会检查:
lastName