Chcę umieścić zestaw standardowych wiązań (takich jak nie pusty łańcuch alfanumeryczny o długości od 3 do 240 znaków) na polach (String w tym przypadku) i chcesz wiedzieć, czy istnieje sposób na zastąpienie niektórych tego ograniczenia w kodzie modelu. Czy to będzie nadrzędne, czy po prostu sprawdzanie poprawności dwa razy dla nadpisanej adnotacji?JSR 303 Ograniczenie niestandardowe Zastępowanie
powinno być coś takiego
@AlphanumericString
@Size(min=100, max=150) //override standart values from AlphanumericString annotation
dzięki Ci odpowiada
ok, odpowiedzieć sobie. istnieje @OverridesParameter wich pomaga przypisanie zagnieżdżonych parametr Adnotacja
@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}";
}
Dzięki, już to wymyśliłeś, spróbujesz użyć tej metody, czy możesz zaproponować mi sposób na przyspieszenie sprawdzania poprawności, inny niż tworzenie fabryki walidatorów tylko raz na aplikację, dzielenie walidacji na grupy i zamawianie ich z szybszego na wolniejszy czas przetwarzania? – Pilgrim