>
validator的常用注解
2021-09-10 14:10
JAVA
  • 4071
  • 527
  • 64
  • 51

Java  Springboot  中如何校验前端参数?

首先我们来了解一下  validator注解:

注解功能:


@AssertFalse         可以为null,如果不为null的话必须为false


@AssertTrue          可以为null,如果不为null的话必须为true


@DecimalMax       设置不能超过最大值


@DecimalMin        设置不能超过最小值


@Digits                  设置必须是数字且数字整数的位数和小数的位数必须在指定范围内


@Future                 日期必须在当前日期的未来


@Past                     日期必须在当前日期的过去


@Max                     最大不得超过此最大值


@Min                      最大不得小于此最小值


@NotNull               不能为null,可以是空


@Null                     必须为null


@Pattern                必须满足指定的正则表达式


@Size                      集合、数组、map等的size()值必须在指定范围内


@Email                    必须是email格式(regexp=正则表达式,flag=标志的模式)


@Length()               长度必须在指定范围内(min=下限, max=上限)


@NotBlank              字符串不能为null,字符串trim()后也不能等于“”


@NotEmpty            不能为null,集合、数组、map等size()不能为0;字符串trim()后可以等于“”


@Range                   值必须在指定范围内


@URL                       必须是一个URL


@Past                     (日期类型)比当前时间早


@Future                  (日期类型)比当前时间晚


@Range()                 最小值和最大值之间(min=最小值, max=最大值)


后端Controller代码如下:(接收参数前 加入注解 @Valid )

@PutMapping ("valid")
@ResponseBody
public Map<String,Object> queryStudentvalid(@Valid Student student){
    Map<String,Object> map=new HashMap<>();
    studentService.queryStudentUpdate(student);
    map.put("code",200);
    map.put("msg","修改用户信息成功");
    return map;
}

Student 实体类  代码如下:(实体名称上面加入对应的注解即可)


@NotBlank(message = "用户不能为空")
private String name;

@NotBlank(message = "邮箱不能为空")
@Email(message = "邮箱格式错误")
private  String email;

@Range(min = 18,max = 100,message = "年龄错误!")
private  Integer age=0;

如何去捕获异常呢 写一个全局的异常捕获 (BindException )即可 


访问效果如下:

image.png

这就证明我们验证的参数已经生效啦!!

总结

感谢各位博友的阅读 ,欢迎您们提出意见 让我们一起交流。感谢你们对CYBLOG的支持理解,本次讲解到此结束!


全部留言 ()
返回
顶部