What setup do I need to do to use JSR-303 annotations with Spring?
Solution 1
javax.validation is missing.
You'll find a jar here. If you use Maven, this is the dependency:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
For validation to actually work, you need an implementation as well, such as Hibernate Validator. Maven dependency:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.0.2.GA</version>
<scope>runtime</scope>
</dependency>
The JSR reference means that this is a standard developed by the Java Community Process, specifically JSR number 303.
Solution 2
Just for completeness, now it's also available the next versión of the spec, that's it JSR 349, which can be obtained with:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
Hibernate Validator 5.x is the reference implementation for JSR 349 - Bean Validation 1.1 of which Red Hat is the specification lead.
Solution 3
It's not a spring annotation, it's from javaee
and goes by javax.validation.Valid, hence the JSR reference.
Solution 4
You should be able to get it from hibernate-validator.
Related videos on Youtube
stevebot
http://www.codedforyou.com http://techmobilehub.blogger.com
Updated on June 04, 2022Comments
-
stevebot almost 2 years
I downloaded spring 3 and put it on my classpath but I'm not able to import the @Valid annotation. However, I am able to import other spring 3 annotations (such as @Controller). What Jar is @Valid in and what package?
EDIT: This is a JSR-303 annotation. What does that mean and how do I get it?