Подтвердить что ты не робот

Доступна ли реализация JSR-303 (bean валидация)?

Я знаю, что существуют нестандартные фреймворки, такие как commons-validator и hibernate validator.

Я хотел знать, знает ли кто-то об исполнении официального стандарта.

4b9b3361

Ответ 4

OVaL не является валидатором JSR-303, но он может преобразовывать ограничения jsr303 в свои собственные.

Ответ 5

Spring Теперь платформа стала совместимой с JSR303, начиная с версии 3.

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html#validation-beanvalidation

Spring Framework 4.0 поддерживает Bean Validation 1.0 (JSR-303) и Bean Validation 1.1 (JSR-349) с точки зрения поддержки установки, а также адаптирует его к интерфейсу Spring s Validator.

Ответ 6

Что касается лета 2018 года, есть три спецификации, которые заменяют друг друга:

  • JSR 380 (проверка боба 2.0)
  • JSR 349 (проверка бина 1.1)
  • JSR 303 (проверка боба 1.0)

Более подробную информацию вы можете получить на официальном сайте.

Hibernate Validator 6.10 является эталонной реализацией новейшей версии (380). У него отличная документация, которую я бы рекомендовал взглянуть (но это довольно большой материал).

Документация платформы CUBA может дать вам гораздо более короткое понимание темы, если вам нужно просто быстрое введение. Основы CUBA основаны на Spring и EclipseLink, поэтому все, что вы узнали, можно использовать и в обычных Spring + Hibernate проектах :)

JSR 349 поддерживается более старыми версиями Hibernate Validator и Apache BVal, оба из них являются "официальными".

Из ORM, отличных от Hibernate, EclipseLink поддерживает JSR 349 и может использовать интерфейс Validator, предоставляемый HV.

Если это возможно, я бы рекомендовал не использовать более старую версию (JSR 303), но переключиться на 349 или 380 спецификаций. Они более зрелые и богатые.

Проверка бина может быть использована в проекте, даже если в нем нет ORM, например, вы можете использовать его в своих приложениях Java 2SE или Android (см. Эту статью), однако это не тот подход, по которому Bean Validation был разработан как основная вещь, Хотя можно использовать эти валидаторы (HV и BVal) только сами по себе (вам придется создавать экземпляр и вызывать Validator и ExecutableValidator вручную), они действительно будут сиять вместе с такими фреймворками, как Hibernate, Spring или CUBA