pom.xml引入依赖
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
entity注解
@Data
public class Student {
@NotBlank(message = "name不能为空")
private String name;
@Min(value = 18, message = "年龄不能小于18岁")
private Integer age;
@Email(message = "email格式错误")
private String email;
/**
* 自定义注解 不能包含空格字符串
*/
@CannotHaveBlank
private String blank;
/**
* 正则校验
*/
@Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$", message = "手机号码格式错误")
private String phone;
}
controllern层使用(@Validated加上才能生效)
@RequestMapping(value = "/test")
@ResponseBody
public Object test(@Validated Student student, BindingResult result) {
if (result.hasErrors()) {
StringBuilder sb = new StringBuilder();
result.getAllErrors().stream().forEach(s->sb.append(s.getDefaultMessage()+"\n"));
return sb;
}
........................
}