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.使用

  • 相关阅读:
    函数式编程之Functional.js源码解析(一)
    libevent的bufferevent
    Luna
    线程池的实现
    如何排查字节对齐问题引起的程序诡异崩溃
    GCC编译之如何控制共享文件导出符号
    ubuntu禁用独显的问题
    protobuf的一些细节
    GCC编译之新老版本共存
    libevent的evbuffer之减少内存拷贝
  • 原文地址:https://www.cnblogs.com/zqr99/p/9741033.html
Copyright © 2011-2022 走看看