0

1つのプロパティで1つのhiberanteバリデーターアノテーションを複数回使用したいと思います。

例えば:

@Length(min = 10, max = 10, groups = {Lenght10Group.class})
@Length(min = 5, max = 5, groups = {Lenght5Group.class})
private String productCode;

次のスレッドを見つけました1つの要素に同じタイプの複数の注釈がありますか?そしてそれを私のアプリケーションに適用しようとしました。

Lengths.javaファイルを作成しました:

public @interface Lenghts {
   Lenght[] value();
}

そしてそれを次のように適用しました:

@Lenghts( {@Length(min = 10, max = 10, groups = {Lenght10Group.class}), 
           @Length(min = 5, max = 5, groups = {Lenght5Group.class}) })
private String productCode;

しかし、それは機能していないようです。

私は何が欠けていますか?カスタムバリデーター、カスタムハンドラーが必要ですか?誰かがこれで私を助けることができますか?私は感謝するでしょう。

4

1 に答える 1

2

箱から出してHibernateValidatorによって提供される@Length.Listを使用する必要があります。すべての組み込み制約(BV仕様によって定義され、Hibernate Validatorによって追加のカスタム制約の両方)は、そのような@Listアノテーションを定義します。

于 2012-07-23T18:28:03.353 に答える