首页 > 其他分享 >spring validation 分组手动校验

spring validation 分组手动校验

时间:2023-05-17 20:23:27浏览次数:36  
标签:violation spring 校验 分组 message validation validate

  1. 定义两个分组接口GroupDefaultOne、GroupDefaultTwo,接口可以继承javax.validation.groups.Default 类,也可以不继承。
    如果 继承 那么当校验分组的时候,会自动校验没有带分组的参数注解,如@NotNull(message = "xxxx不能为Null")
    如果 不继承 那么当校验分组的时候,只会校验带了对应分组的参数。

  2. 手动校验与自动校验。
    自动校验:可以在controller方法层加上对应的注解,如:@Validated(GroupDefaultOne.class)
    手动校验:

  private static final Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
  Set<ConstraintViolation<T>> validate = validator.validate(object, groups);
    if (!validate.isEmpty()) {
        for (ConstraintViolation<T> violation : validate) {
            String message = StrUtil.format("{}{}", violation.getPropertyPath(), violation.getMessage());
            ExceptionUtils.throwBusiness(message);
        }
    }

标签:violation,spring,校验,分组,message,validation,validate
From: https://www.cnblogs.com/kangyu222/p/17410050.html

相关文章

  • drf——Request源码分析、序列化组件、序列化类的使用(字段类和参数)、反序列化校验和
    1.Request类源码分析#APIView+Response写个接口#总结: 1.新的request有个data属性,以后只要是在请求body体中的数据,无论什么编码格式,无论什么请求方式2.取文件还是从:request.FILES3.取其他属性,跟之前完全一样request.method.... 原理:新的request重写了__g......
  • 【渗透测试】关闭springboot中actuator监控
    正常情况下,为了安全,可以通过如下配置关闭监控点management:endpoints:enabled-by-default:false之后访问如health,info等端点,就会报404了,但是如果单纯的访问/actuator路径,还是会有一些信息返回的,这样至少说明了/actuator路径是可以访问的,此时如果有严格的安全渗透......
  • springCloud Alibaba服务的注册与发现之eureka客户端注册
    1、在客户端maven项目中添加eureka客户端依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>2、在工程application.yml文件中......
  • SpringBoot基于注解来动态切换数据源
    前言我们在日常开发中,经常会用到多数据源,实现的方式有很多种,我这里分享一种通过动态数据源的方式来实现多数据源。通过自定义一个注解DS加上AOP来动态切换数据源。我们的注解可以作用于类、方法、接口、接口方法上。优先级为:类方法>类>接口方法>接口SpringBoot的动态数据源,实际......
  • Spring Boot整合Mybatis Plus逆向工程
    1.导入依赖主要导入Mybatis-Plus-generator版本需要与Mybatis-Plus版本一致<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.1</versio......
  • SpringBoot项目预加载数据——ApplicationRunner、CommandLineRunner、InitializingBe
    0、参考、业务需求参考:https://www.cnblogs.com/java-chen-hao/p/11835120.html#_label1https://zhuanlan.zhihu.com/p/541268993业务需求:缓存数据字典数据、初始化线程池、提前加载好加密证书1、方式实现ApplicationRunner接口实现CommandLineRunner接口实现In......
  • SpringBootWeb案例 —— ①
     ......
  • vue elementui validate异步校验改成同步校验返回结果
     异步的校验 <script>import{defineComponent,ref}from'vue'exportdefaultdefineComponent({methods:{getFormDataStatus(){letresult=ref(false)this.ruleForm.validate((valid)=>{if(valid){......
  • 【小小demo】SpringBoot+Layui登录
    easy-login基于layui注册、登录简单实现,并他通过拦截器拦截未登录请求。项目地址文章末尾登录拦截器SystemInterceptorpreHandle在Controller之前执行,因此拦截器的功能主要就是在这个部分实现:检查session中是否有user对象存在;如果存在,就返回true,那么Controller就......
  • Spring+SpringMVC19_Spring练习-业务实现2
    六、用户表和角色表的分析  七、角色列表展示分析  八、角色列表展示-controller层实现  九、角色列表展示-service和dao层实现  十、角色列表展示-配置实现  十一、角色列表展示-页面展示  十二、角色的添加操作  十三、用户列表展示1 ......