我有一个带有验证器的实体(不是表格)。
所以我使用$validator->validate($entity)
,但它没有验证我的子对象(实体类有一些其他实体类和一些验证器)。
是否有“自动”方式执行此操作,或者我必须为每个方法执行$errorList->addAll($validator->validate($entity));
?
答案 0 :(得分:6)
要允许对对象进行递归验证,您只需使用约束@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