springboot中validator数据校验功能的实现
普通校验
导入依赖:
默认的报错:没有提示具体的属性
设置自己的错误信息提示:创建 ValidationMessages.properties
内容如下:
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; }
测试:
自定义错误信息,显示指定属性错误
分组校验
不同的请求,实现不同的校验。。
创建两个空接口,标识作用:
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数据校验内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java Collections的emptyList、EMPTY_LIST详解与使用说明
这篇文章主要介绍了Java Collections的emptyList、EMPTY_LIST详解与使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11Java中使用@CrossOrigin和Proxy解决跨域问题详解
这篇文章主要介绍了Java中使用@CrossOrigin和Proxy解决跨域问题详解,在Web开发中,如果前端页面和后端接口不在同一个域名下,就会发生跨域请求的问题,同源策略是浏览器的一种安全策略,它限制了来自不同源的客户端脚本在浏览器中运行时的交互,需要的朋友可以参考下2023-12-12
最新评论