1

spring mvc で 1 つのモデル クラスを作成しています。ドメイン検証を行いたい。

ドメインクラスには、isABCApplicable、a​​bcValue1、abcValue2 という 3 つの変数があります。

private Boolean isABCApplicable;

private BigDecimal abcValue1;

private BigDecimal abcValue2;

……ゲッターとセッター…………

今私の目的は

isABCApplicable が true の場合、abcValue1 を

@NotNull
 abcValue1 

@NotNull 
abcValue2

これを達成する方法はありますか?

4

2 に答える 2

1

なぜアノテーションを使用したいのですか?
モデル オブジェクト用に独自の DataBinder を作成し、オブジェクト コンストラクターですべての検証を行います。
または、本当にアノテーションが必要な場合は、@NotNullIfApplicable のような独自の制約を記述できます。詳細については、Hibernate Validator (JSR 303) によるクロス フィールド検証を参照してください。

于 2012-06-20T10:05:07.197 に答える
1

これは、バイトコード インストルメンテーションによって可能になると思います。ASM は、Java バイトコードを操作できるツールの 1 つです。http://asm.ow2.org/index.htmlをご覧ください。

于 2012-06-20T09:00:34.560 に答える