フィールド(Stringの場合)にスタンダント制約(3〜240文字の長さのヌル英数字以外の文字列のような)を設定したい場合は、この制約のモデルコード内のまた、これはオーバーライドされますか、またはオーバーライドされたアノテーションのために2回だけ検証されますか?JSR 303カスタム制約オーバーライド
それはあなたが
に答えるために、この
@AlphanumericString
@Size(min=100, max=150) //override standart values from AlphanumericString annotation
おかげのようなものでなければならOK、自分自身に答えます。ウィッヒは、ネストされた注釈パラメータ
@Numerical
@Size //arbitrary parameter values
@ConstraintValidator(FrenchZipcodeValidator.class)
@Documented
@Target({ANNOTATION_TYPE, METHOD, FIELD})
@Retention(RUNTIME)
public @interface FrenchZipCode {
String message() default "Wrong zipcode";
String[] groups() default {};
@OverridesParameters({
@OverridesParameter(constraint=Size.class, parameter="min")
@OverridesParameter(constraint=Size.class, parameter="max") })
int size() default 5;
@OverridesParameter(constraint=Size.class, parameter="message")
String sizeMessage() default "{error.zipcode.size}";
@OverridesParameter(constraint=Numerical.class, parameter="message")
String numericalMessage() default "{error.zipcode.numerical}";
}
をありがとう、すでにそれを考え出し、このメソッドを使用しようとすると、アプリケーションごとにバリデーター・ファクトリをインスタンス化するだけでなく、バリデーション・ファクトリをグループ化し、より速い処理時間からより遅い処理時間にオーダーすること以外は、 – Pilgrim