Bean Validation - Bean Validation

Bean Validation definiuje model metadanych oraz API dla JavaBeans walidacji. Źródło metadanych jest adnotacji , z możliwością przedłużenia do nadpisania i metadane dzięki zastosowaniu XML deskryptorów walidacji.

Pierwotnie zdefiniowany jako część Java EE , wersja 2 ma pracować w Java SE aplikacje, jak również.

Java Bean Validation ( JSR 303 ) powstało jako ram , który został zatwierdzony przez JCP na dzień 16 listopada 2009 roku i zaakceptowany jako część Java EE specyfikacji 6. Hibernacji Zespół zapewnia z Hibernate Validator na realizację odniesienia Bean Validation a także stworzył Bean Validation TCK każdą realizację JSR 303 musi przejść.

Obecna wersja

Fasola Walidacja 2.0 jest określona przez JSR 380 zatwierdzone 2017-07-31. To główne wydanie wykorzystuje możliwości językowe w Java 8, które są bardzo przydatne dla celów Bean Validation. Tak Java 8 jest wymagana jako minimalna wersji Java.

Inne zmiany obejmują:

  • Wsparcie dla sprawdzania elementów kontenera przez komentowania argumentów typ parametrycznych typów, np List <Integer> positiveNumbers @Positive; obejmuje to również:
    • Bardziej elastyczne kaskadowo walidacja rodzaju zbiórki; np wartości i klucze mapy mogą być zatwierdzone teraz: Mapa <@Valid CustomerType, @Valid klienta> customersByType
    • Wsparcie dla java.util.Optional
    • Wsparcie dla typów własności deklarowanych przez JavaFX
    • Wsparcie dla niestandardowych typów kontenerów poprzez podłączenie dodatkowych wirówek wartości
  • Wsparcie dla nowych typów danych daty / godziny dla @Past i @Future; precyzyjną kontrolę nad zmiany strefy czasowej i czasu stosuje się do walidacji
  • Nowe wbudowane ograniczenia: @Email, @NotEmpty, @NotBlank, @Positive, @PositiveOrZero, @Negative, @NegativeOrZero, @PastOrPresent i @FutureOrPresent
  • Wszystkie wbudowane ograniczenia są oznaczone jako powtarzalny teraz
  • Nazwy parametrów są pobierane przy użyciu odbicia
  • ConstraintValidator # initialize () jest metodą domyślną
  • Przestrzeń nazw Bean Validation deskryptorów XML został zmieniony na http://xmlns.jcp.org/xml/ns/validation/configuration dla meta- INF / validation.xml i http://xmlns.jcp.org/xml/ns / walidacja / mapowanie dla więzów plików mapowania

Poprzednia wersja

Fasola Walidacja 1,1 ( JSR 349 ) podnosi się na pierwszej wersji 1.0 ( JSR 303 ). Istotne zmiany obejmują:

  • Walidacja argumentów metoda i wartości zwracanej
  • Dependency Injection
  • Bardziej otwarty proces w rozwoju specyfikacji

Ostatecznej wersji specyfikacji 1,1 nastąpiło 2013-05-24.

Referencje

Dalsza lektura