JSR303验证基本使用
今天使用了一个后端验证的框架JSR303。现在把使用的过程和结果写在下面,供大家参考。
1、maven创建一个quickstart的项目:
mvn archetype:generate -DarchetypeCatalog=internal
2、在项目的pom.xml文件中引入如下内容:
<!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.4.Final</version>
</dependency>
3、编写一个HelloWorld程序:
Student.java
package com.xueyoucto.xueyou;
import javax.validation.constraints.Min;
import javax.validation.constraints.Pattern;
public class Student {
@Pattern(regexp="\\D{2,4}",message="名字不能包含数字")
private String name;
@Min(20)
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
App.java
package com.xueyoucto.xueyou;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
Student s = new Student();
s.setName("张三1");
s.setAge(19);
System.out.println(s.getName());
System.out.println(s.getAge());
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<Student>> validators = validator.validate(s);
for (ConstraintViolation<Student> constraintViolation : validators) {
System.out.println(constraintViolation.getMessage());
}
if(validators.isEmpty()){
System.out.println("验证成功");
}else{
System.out.println("验证失败");
}
}
}
4、运行程序,结果如下:
5、如果运行的时候出现问题,最大的可能就是jar包引入的问题,建议去官网上下载,然后在放到自己的maven仓库中。
6、这是项目的目录: