zoukankan      html  css  js  c++  java
  • 手动调用hibernate的参数校验器和springboot参数校验器 验证

    package com.cmb.om;
     
    import com.xx.xx.bean.dto.ApplyRcdSelectDtoX1;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
     
    import javax.validation.ConstraintViolation;
    import javax.validation.Validation;
    import javax.validation.Validator;
    import javax.validation.ValidatorFactory;
    import java.util.Set;
     
    /**
     * @Title SelfCallValid
     * @Package SelfCallValid
     * @Description
     * @Date 2020/6/8 15:51
     * @Version 1.0
     * @Copyright IT802482
     */
    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = SpringBootApp.class)
    public class SelfCallValid {
     
     
        @Autowired
        private Validator validator;
     
        /**
         * 手动调用hibernate校验器
         */
        @Test
        public void test(){
     
            XXXDto foo = new XXXDto();
            ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
            Validator validator = vf.getValidator();
            Set<ConstraintViolation<XXXDto>> set = validator.validate(foo);
            if(set.size()>0){
                System.out.println("校验不通过");
            }else{
                System.out.println("校验通过");
            }
            for (ConstraintViolation<XXXDto> constraintViolation : set) {
                System.out.println("原因:"+constraintViolation.getMessage());
            }
        }
     
        /**
         * 手动调用springboot封装后的校验器
         */
        @Test
        public void testSpringbootValid(){
            XXXDto foo = new XXXDto();
            Set<ConstraintViolation<XXXDto>> set = validator.validate(foo);
            if(set.size()>0){
                System.out.println("校验不通过");
            }else{
                System.out.println("校验通过");
            }
            for (ConstraintViolation<XXXDto> constraintViolation : set) {
                System.out.println("原因:"+constraintViolation.getMessage());
            }
        }
    }

      dto:

    1
    2
    3
    4
    5
    @Data
    public class XXXDto{
        @NotBlank(message = "taskNo不允许为空")
        private String taskNo;
    }
  • 相关阅读:
    echarts 变量a、b、c、d的含义
    JS实现字符点点loading效果
    ES6的异步 async promise
    ES6中Promise封装ajax的写法
    ES6 set数据结构举例
    notepad++ 正则替换 字符串开始 字符串结束
    php去除bom
    jquery-ui Datepicker 创建 销毁
    Vue-cli3 WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB)
    XManager product key
  • 原文地址:https://www.cnblogs.com/xiami2046/p/13910805.html
Copyright © 2011-2022 走看看