我有一个验证器的实体(不是表格)。Symfony2:递归验证
所以我使用$validator->validate($entity)
,但它不验证我的子项(实体类有一些其他实体类与一些验证器)。
是否有“自动”的方式来做到这一点,或者我必须为他们每个人做$errorList->addAll($validator->validate($entity));
?
我有一个验证器的实体(不是表格)。Symfony2:递归验证
所以我使用$validator->validate($entity)
,但它不验证我的子项(实体类有一些其他实体类与一些验证器)。
是否有“自动”的方式来做到这一点,或者我必须为他们每个人做$errorList->addAll($validator->validate($entity));
?
允许通过对象递归验证,你可以简单地使用约束@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
您可以使用注释['@assert \有效'](http://symfony.com/fr/doc/current/reference/constraints/Valid.html) – Touki
就是这样,谢谢! 我以为'@Assert \ Type(...)'就足够了...... – Bonswouar