zoukankan      html  css  js  c++  java
  • hibernate自定义校验Valid

    步骤:

    1.定义注解:

    import javax.validation.Constraint;
    import javax.validation.Payload;
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    
    
    @Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
    @Retention(RetentionPolicy.RUNTIME)
    @Constraint(validatedBy = MyValidatorClass.class)
    public @interface MyValidator {
        String message();
    
        Class<?>[] groups() default {};
    
        Class<? extends Payload>[] payload() default {};
    }
    自定义校验注解

    2.定义校验类

    import javax.validation.ConstraintValidator;
    import javax.validation.ConstraintValidatorContext;
    
    /**
     * MyValidator,自定义注解
     * String 标注在String类型的字段上,传过来的值是String类型
     */
    public class MyValidatorClass implements ConstraintValidator<MyValidator,String> {
        /**
         * 初始化注解时执行的
         * @param myValidator
         */
        @Override
        public void initialize(MyValidator myValidator) {
    
        }
    
        /**
         * 真正的校验逻辑
         * @param o
         * @param constraintValidatorContext
         * @return
         */
        @Override
        public boolean isValid(String o, ConstraintValidatorContext constraintValidatorContext) {
            return false;
        }
    }
    自定义校验逻辑

    3.使用

  • 相关阅读:
    Hbase数据库简介
    v8引擎详解
    TCP、UDP和HTTP详解
    关于websocket的代码,实现发送信息和监听信息(前端 后端(node.js))
    浏览器的渲染流程
    事件的各个阶段
    回流和重绘
    Nginx入门教程
    解决浏览器跨域
    TCP三次握手
  • 原文地址:https://www.cnblogs.com/zqr99/p/9741033.html
Copyright © 2011-2022 走看看