SpringBoot通过Hibernate验证前端数据

使用Hibernate验证时,需要存在实体类

以Person为例

@Valid 声明需要验证的对象  @Valid Person

BindingResult result 获取返回的错误

public class Person{

  @NotBlank(message ="姓名不能为空")

  private String name;

  @DecimalMin(1)

  private String age;

  @Email

  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

 

谢谢!

posted on 2020-04-26 01:01  一号·技术小站  阅读(236)  评论(0编辑  收藏  举报

导航