2012-02-20 6 views

答えて

0

はい、あなたは私たちがdata_class自体にではなく、特定のフィールドに適用されますクラス制約、と呼ぶものを作成する必要があります。http://symfony.com/doc/2.0/book/validation.html#classes

+0

こちらの質問には実際には答えません。クラス全体に適用されているコールバックの部分はOKです。しかし、フィールドではなくクラスにグローバルとしてエラーをどのように設定しますか? –

0

ここでは、にエラーを設定するコードのスニペットですあなたのグローバルなフォームではなく、フィールド上で。

public function isValid(ExecutionContext $context) { 

    if (what ever condition) { 

     // Do not set the property path as shown in the documentation 
     $context->addViolation('This name sounds totally fake!', array(), null); 
    } 
} 

あなたはコンテキストのプロパティのパスを定義しない場合は、違反がフォームのトップレベルに追加されます。

$propertyPath = $context->getPropertyPath() . '.firstName'; 
$context->setPropertyPath($propertyPath); 

し、その後、簡単な表示フォームのグローバルエラー:あなたがしなければならないすべては、公式ドキュメントに与えられたこの2行を削除です。

{{ form_errors(form) }} 
関連する問題