栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot中validator数据校验

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/322229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号