2017-08-29 11 views
0

Symfonyの "Custom Validation Constraint"(http://symfony.com/doc/current/validation/custom_constraint.html)を使用してカスタム電子メール制約バリデータ(@ domain.comなど)を作成することは可能ですが、Entityの制約は使用しませんクラス?フォーム上のSymfony/Constrainsとバリデータ

私はsymfonyにmultitenantサイトを持っていて、クライアントごとに異なるformsTypesを持っています。 1つのクライアントが必要とするのは、X電子メールドメインだけです。この場合、私はエンティティクラスの制約を次のように使用することはできません:

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

他のアイデアはありますか?

+0

問題またはエラーは何ですか? –

+1

何か試しましたか?バリデーターを作成してエンティティではなくフォーム上で直接使用するだけです –

+0

@ t-n-yどうすればいいですか? (バリデータを作成してフォーム上で直接使用する) –

答えて

0

はい、custom annotationは、任意のクラス上で動作することができ、あなたは(あなたのクライアントに応じて、ドメインのような)動的なデータが必要な場合、あなたはConstraintValidatorクラス内の教義を使用することができます$validator->validate($yourClassInstantiated)

を呼び出すときに、彼らが使用されます。

+0

リンクのみの回答が投票される傾向があります。特に、リンクが実際に問題にあるだけでなく、質問に関連していない場合。 – Cerad

+0

ホー、私はそれを見ていない:x申し訳ありません... – mykiwi

関連する問題