欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2022-09-20 09:28:37|栏目:JAVA代码|点击:

普通校验

导入依赖:

image-20211012213308369

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

image-20211012220755725

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

image-20211012215710089

内容如下:

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;
}

测试:

image-20211012221805063

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

分组校验

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

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

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

上一篇:Activiti如何启动流程并使流程前进

栏    目:JAVA代码

下一篇:Java实现打飞机小游戏(附完整源码)

本文标题:springboot中validator数据校验功能的实现

本文地址:http://www.codeinn.net/misctech/214223.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有