Czy jest dostępna implementacja JSR-303 (Bean validation)?
Wiem, że istnieją niestandardowe frameworki, takie jak commons-validator i Hibernate validator.
Chciałem się dowiedzieć, czy ktoś zna implementację oficjalnego standardu.
6 answers
Walidator Hibernate jest implementacją referencyjną JSR-303
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-13 08:20:11
Obecnie są 2 Zgodne implementacje:
- Apache Bean Validation (dawniej agimatec)
- Walidator Hibernate
Możesz uzyskać dostęp do benchmark i krótki opis obu tutaj: http://carinae.net/2010/06/benchmarking-hibernate-validator-and-apache-beanvalidation-the-two-jsr-303-implementations/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-13 08:23:43
Implementacje:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-06 08:12:16
OVaL nie jest walidatorem JSR-303, ale może konwertować ograniczenia jsr303 na własne.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-10 01:15:23
Spring Framework stał się zgodny z JSR303 od wersji 3.
Spring Framework 4.0 obsługuje Bean Validation 1.0 (JSR-303) i Bean Validation 1.1 (JSR-349) pod względem obsługi konfiguracji, dostosowując ją również do interfejsu walidatora Spring.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-14 18:27:01
Jeśli chodzi o lato 2018, istnieją trzy specyfikacje, które wzajemnie się supersamocą:
- JSR 380 (Bean Validation 2.0)
- JSR 349 (Bean Validation 1.1)
- JSR 303 (Bean Validation 1.0)
Walidator Hibernate 6.10 jest referencyjną implementacją najnowszej wersji (380). Ma świetną } dokumentację Polecam rzucić okiem (jednak jest dość duża rzeczy).
CUBA platform docs może dać ci znacznie krótsze zrozumienie tematu, jeśli potrzebujesz tylko szybkiego wstępu. CUBA framework jest oparty na Spring i EclipseLink, więc rzeczy, których się nauczyłeś, mogą być również używane na zwykłych projektach Spring+Hibernate:)
JSR 349 jest wspierany przez starsze wersje walidatora Hibernate oraz przez Apache BVal, obie są "oficjalne".
Z ORMs innych niż Hibernate, EclipseLink obsługuje JSR 349 i może używać interfejsu walidatora dostarczonego przez HV.
Jeśli to możliwe, polecam nie używać starszej wersji (JSR 303), ale przełączyć się na specyfikację 349 lub 380. Są one bardziej dojrzałe i bogate.
Bean Validation może być użyty w projekcie, nawet jeśli nie ma w nim ORM, na przykład możesz go użyć w swoich aplikacjach Java 2SE lub Android (zobacz ten artykuł ), jednak nie jest to podejście Bean Validation zostało zaprojektowane jako podstawowa rzecz. Chociaż możliwe jest użycie tych walidatory (HV i BVal) same w sobie (trzeba by utworzyć instancję i wywołać Validator
i ExecutableValidator
Ręcznie), naprawdę będą świecić pracując razem z frameworkami takimi jak Hibernate, Spring czy CUBA
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-22 18:54:52