基本介绍
JSR-303 Bean Validation 为 JavaBean 验证定义了相应的元数据模型和 API。在应用程序中,通过使用 Bean Validation 或是你自己定义的 constraint,例如 @NotNull
, @Max
, @ZipCode
, 就可以确保数据模型(JavaBean)的正确性。Bean Validation 是一个运行时的数据验证框架,在验证之后验证的错误信息会被马上返回。
开始使用
一、程序搭建
本次使用idea工具使用Springboot和Mybatis简易搭建测试程序。
二、引入相关jar包依赖
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.5.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.4.1.Final</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
三、在实体类中添加注解
内置的 constraint
Hibernate Validator 附加的 constraint
示例
public class Student implements Serializable {
private static final long serialVersionUID = 809883957348542483L;
private Integer id;
@NotEmpty
private String name;
@Email
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
四、测试
StudentController.java
@PostMapping("insert")
public String insertOne(@Validated Student student, BindingResult bindingResult){
if(bindingResult.hasErrors()){
return "信息错误";
}
studentService.insert(student);
return "添加成功";
}
五、结果
只有当传入的Student对象满足name不为null,并且email满足[email protected]这种格式才能成功运行。