有关hibernate-validator的语法请参考:hibernate-validator 校验规则详解
第一步:创建Maven项目,添加依赖:
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-validation
org.projectlombok
lombok
true
第二步:创建待验证的实体类:
@Data
@ToString
public class User {
private Integer id;
@NotBlank(message = "用户名不能为空")
@Length(min = 6, max = 32, message = "用户名的长度需要在6~32之间")
private String name;
@Past(message = "出生日期必须早于当前日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate birth;
@Email(regexp = "^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z0-9]{2,6}$", message = "邮件格式错误")
private String email;
@Size(min = 11, max = 11)
private String mobile;
@NotNull(message = "用户等级不能为空")
@Min(value = 0, message = "用户等级最小值为0")
@Max(value = 6, message = "用户等级最大值为6")
@Digits(integer = 1, fraction = 0, message = "用户等级必须为整数")
private Integer level;
}
第三步:创建Controller
@RestController
@RequestMapping("/user")
public class UserController {
@RequestMapping("/add1")
public void add1(@Valid User user) {
System.out.println(user);
}
@RequestMapping("/add2")
public void add2(@Valid User user, BindingResult result) {
StringBuffer sb = new StringBuffer();
if (result.hasErrors()) {
for (FieldError fieldError : result.getFieldErrors()) {
String message = fieldError.getDefaultMessage();
sb.append(message+"\t");
}
System.out.println(sb.toString());
} else {
System.out.println(user);
}
}
}
第三步:启动项目测试
-
http://localhost/hv/user/add1?name=234
-
http://localhost/hv/user/add2?name=fadfasfafsd&email=369950806