SpringBoot通过Hibernate验证前端数据
使用Hibernate验证时,需要存在实体类
以Person为例
@Valid 声明需要验证的对象 @Valid Person
BindingResult result 获取返回的错误
public class Person{
@NotBlank(message ="姓名不能为空")
private String name;
@DecimalMin(1)
private String age;
private String email;
}
判断是否验证成功
if(result.hasErrors()){
Map<String, String> map = new HashMap<>();
List<FieldError> fieldErrors = result.getFieldErrors();
for (FieldError fieldError : fieldErrors) {
String error = fieldError.getField();
String msg = fieldError.getDefaultMessage();
map.put(error,msg);
}
system.out.print(map);
}
常用注解:
@Null 被注解的属性必须为空
@NotNull 被注解的元素必须不为空
@AssertTrue 被注解的元素必须为true
@AssertFalse 被注解的元素必须为false
@Min(value) 被注解的元素必须是数字,且大于等于最小值
@Max(value) 被注解的元素必须是数字,且小于等于最大值
@DecimalMin(value) 被注解的元素必须是数字,且大于等于最小值
@DecimalMax(value) 被注解的元素必须是数字,且小于等于最大值
@Size(max=,min=) 被注解的元素必须是数字,且在指定范围内
@Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Futrue 备注是的元素必须是一个将来的日期
@Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式
@Email 被注释的元素必须是电子邮箱地址
@NotEmpty 被注释的字符串的必须非空
@Length(value) 被注释的字符串长度限制
@Range(min=,max=,message=) 被注释的元素必须在合适的范围内
@NotBlank(message =) 验证字符串非null,且长度必须大于0
谢谢!