2017-08-29 48 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