我有一個驗證器的實體(不是表格)。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