2011-11-09 9 views
1

PlayFrameworkで同じPOJOの別のパラメータを使用してPOJOパラメータを検証するエレガントな方法はありますか?私は、再生エラーメカニズムを維持するソリューションを探しています。PlayFrameworkでの複雑なPOJO検証

Exemple:

@Entity 
public class Page extends Model { 

    @Required 
    @Min(0) 
    public Integer minWidth; 

    @Required 
    @Min(0) 
    public Integer maxWidth; 
} 

私はのminWidth < maxWidthにいることを確認する必要があります。

答えて

5

custom validatorと記述し、@ CheckWithアノテーションを使用する必要があります。

カスタムアノテーション(上記と同じページにドキュメント)を書くこともできますが、もっと複雑です。

+0

私はドキュメントでこれを読んでいますが、バリデーターまたは注釈は1つのパラメーターにのみ適用できます。同じオブジェクトから別の値でチェックするにはどうすればよいですか?たとえば、注釈パラメータに動的な値を渡すことはできません。 – Zofren

+0

Check abstractクラスで定義されているisSatisfiedメソッド(カスタムバリデータを記述するときに拡張する)は、テスト対象オブジェクト(ケース - モデル)とテスト対象フィールド(最初の1-minWidthと言う)の2つのパラメータをとります。 。あなたのメソッドの本体の中で、次にminWidthとmodel.maxWidthを比較します。 –

+0

これはわかりました。このソリューションをありがとう! – Zofren

関連する問題