0

すべてのプロパティではなく、特定のプロパティについてのみ Bean を検証する方法を探していました。

例:

public Class TestA {

 @NotEmpty
 private String first;

 @NotEmpty
 @Size(min=3,max=80)
 private String second;

 //getters and setters

}

私は以下のようにクラス「TestA」を参照している「TestB」と呼ばれる別のクラスを持っています

public Class TestB {

 @NotEmpty
 private String other;

 @Valid
 private TestA testA; 

 //public getters and setters
}

特定のプロパティのみを検証するカスタム注釈バリデータを作成することは可能ですか? 以下のようなもの...

public Class TestB {

 @NotEmpty
 private String other;

 @CustomValid(properties={"second"})
 private TestA testA; 

 //public getters and setters
}
4

1 に答える 1

1

groupsそのために属性を使用します。次のようになります。

public Class TestA {

 @NotEmpty(groups = {Second.class})
 private String first;

 @NotEmpty(groups = {Second.class})
 @Size(min=3,max=80, groups = {Second.class})
 private String second;

 //getters and setters

}

public Class TestB {

 @NotEmpty
 private String other;

 @Valid
 private TestA testA; 

 //public getters and setters
}

どこSecondかで定義された空のインターフェースです。

詳細については、ドキュメントの例を参照してください: 2.3. グループの検証また、Spring >= 3.1 を使用している場合は@Validates、指定されたグループの検証を可能にするアノテーションに興味があるかもしれません。

于 2012-05-21T07:23:53.193 に答える