服务器之家

服务器之家 > 正文

springboot中validator数据校验功能的实现

时间:2022-02-19 14:45     来源/作者:wfsm

普通校验

导入依赖:

springboot中validator数据校验功能的实现

默认的报错:没有提示具体的属性

springboot中validator数据校验功能的实现

设置自己的错误信息提示:创建 ValidationMessages.properties

springboot中validator数据校验功能的实现

内容如下:

user.id.notnull = id 不能为空
user.username.size = username 长度为5-10
user.age.min = age 年龄最小为1
user.age.max = age 年龄最大为100
user.email.pattern= email 格式不正确

实体类注解上设置message属性,,使用{}引入 VallidationMessages.properties 内容:

public class User {
  @NotNull(message = "{user.id.notnull}")
  private Integer id;
  @Size(min = 5,max = 10,message = "{user.username.size}")  // @Size  字符串长度
  private String username;
  @DecimalMin(value = "1",message = "{user.age.min}") // @DecimalMin 数值最小
  @DecimalMax(value = "100",message = "{user.age.max}")
  private Integer age;
  @Email(message = "{user.email.pattern}")
  private String  email;
}

测试:

springboot中validator数据校验功能的实现

自定义错误信息,显示指定属性错误

 

分组校验

不同的请求,实现不同的校验。。

创建两个空接口,标识作用:

ValidationGroup01 ValidationGroup02

修改User:

public class User {
  @NotNull(message = "{user.id.notnull}",groups = {ValidationGroup01.class,ValidationGroup02.class})
  private Integer id;
  @Size(min = 5,max = 10,message = "{user.username.size}",groups = {ValidationGroup01.class})  // @Size  字符串长度
  private String username;
  @DecimalMin(value = "1",message = "{user.age.min}") // @DecimalMin 数值最小
  @DecimalMax(value = "100",message = "{user.age.max}")
  private Integer age;
  @Email(message = "{user.email.pattern}",groups = {ValidationGroup01.class})
  private String  email;
}

controller中表明你要使用哪个分组校验:

  public void addUser(@Validated(value = ValidationGroup01.class) User user, BindingResult result){
   		...
  }

只会校验user中groups标注了ValidationGroup01.class 的字段。。

到此这篇关于springboot中validator数据校验的文章就介绍到这了,更多相关springboot validator数据校验内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_36022463/article/details/120733871

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部