Bean Validation
Bean Validation defines a metadata model and API for JavaBean validation. The metadata source is annotations, with the ability to override and extend the meta-data through the use of XML validation descriptors. Originally defined as part of Java EE, version 2 aims to work in Java SE apps as well. Java Bean Validation (JSR 303) originated as a framework that was approved by the JCP as of 16 November 2009 and accepted as part of the Java EE 6 specification. The Hibernate team provides with Hibernate Validator the reference implementation of Bean Validation and also created the  Bean Validation TCK any implementation of JSR 303 needs to pass. Current Version. Bean Validation 2.0 is defined by JSR 380, approved 2017-07-31. This major release leverages language features in Java 8 that are very useful for the purposes of Bean Validation. So Java 8 is required as the minimum Java version. Other changes include: Previous Version. Bean Validation 1.1 (JSR 349) improves upon the initial version 1.0 (JSR 303). Significant changes include: Final release of the 1.1 specification occurred 2013-05-24.