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

网友投稿 239 2022-09-22


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 数值knnJhuGcd最小

@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 字符串长度

privateknnJhuGcd 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 的字段。。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:vlan划分和access端口,trunk端口,hybrid端口的配置(vlan的access接口)
下一篇:设备文件系统和管理设备文件系统
相关文章

 发表评论

暂时没有评论,来抢沙发吧~