2011-12-06 6 views
11

私は、特定のエンティティの注釈で指定された制約に対して単一のフィールド(オブジェクトプロパティ)を検証する方法を探しています。symfony2でのみ単一フォームフィールドを検証

フォームフィールドの「onBlur」イベントの後にAJAXリクエストを送信し、この単一フィールドのみを検証するようサーバーに要求し、応答に応じて小さな「OK」イメージをこの横に追加しますフィールドまたはエラーメッセージ。

エンティティ全体を検証したくありません。

この問題の最良の方法は何ですか?任意のヒントありがとう。

答えて

18

Validatorクラスは、validatePropertyメソッドを持っています。

$violations = $this->get('validator')->validateProperty($entity, 'propertyName'); 
if (count($violations)) { 
    // the property value is not valid 
} 

あるいは、値が実体に設定されていない場合、あなたはvalidatePropertyValueメソッドを使用することができます:

$violations = $this->get('validator')->validatePropertyValue($entity, 'propertyName', $propertyValue); 
if (count($violations)) { 
    // the property value is not valid 
} 
5

validation groupsをご覧ください。私はこれがあなたが必要とするものだと思います。あなたはグループ "ajax"を追加するか、それにただ一つの制約を加えることができます。次に、バリデーターにそのグループを使用するように指示します。 symfony2のドキュメントにはサンプルが含まれています。

+0

あなたはplsは例のsudoのコードなどを与えることができますあなたはこのようにそれを使用することができます –

関連する問題