2017-08-29 46 views
0

可以使用Symfony(http://symfony.com/doc/current/validation/custom_constraint.html)的「自定義驗證約束」創建自定義電子郵件約束驗證器(如@ domain.com),但不能在實體中使用約束類?表單上的Symfony/Constrains&Validators(電子郵件約束)

我有一個multitenant網站在symfony和differents formsTypes爲每個客戶端。一個客戶需要只能唱X個電子郵件域。在這種情況下,我不能在這樣的實體類中使用約束:

class MyEntity 
{ 
    /** 
    * @Assert\Email() 
    * @CustomAssert\EmailDomain(domains = {"yahoo.com", "gmail.com"}) 
    */ 
    protected $email; 

任何不同的想法?

+0

問題或錯誤是什麼! –

+1

你嘗試過什麼嗎?你只需要創建一個驗證器並直接在表單上使用它,而不是在實體上使用 –

+0

@ t-n-y我該怎麼做? (創建一個驗證器並直接在表單中使用它) –

回答

0

是,custom annotation可以在任何類的工作,他們將被用來當你調用$validator->validate($yourClassInstantiated)

如果你想動態數據(如根據您的客戶端上域),你可以用你的學說類ConstraintValidator裏面。

+0

鏈接只回答往往被投票。特別是當鏈接實際上處於問題中時,以及與問題無關。 – Cerad

+0

何,我沒有看到:x對不起...... – mykiwi