zoukankan      html  css  js  c++  java
  • 自定义注解与validation结合使用案例

    编写validation自定义注解:

    @Target({ ElementType.FIELD, ElementType.METHOD })
    @Retention(RetentionPolicy.RUNTIME)
    @Document
    @Constraint(validatedBy = { Brx.BrxValidator.class }) // validatedBy 需要ConstraintValidator的实现类
    public @interface Brx {
    //自定义方法:
    String message() default "名称不存在";
    Boolean required()default false;

    //validate注解通用方法:
    Class<?>[]groups() default {};
    Class<? extends Payload>[]payload() default {}
    public static final calss BrxValidator implements
    ConstraintValidator<Brx,String>{

    private Boolean required = false;

    public static final Pattern brx_pattern = Pattern.compile("brx");
    @Override
    public void initialize(Brx constraintAnnotation) {
       this.requirde=constraintAnnotation.required();

    }
    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {  //value为比对值
      if(this.required){
        return brx_pattern.matcher(value).matches(); //定义校验规则
      }
      if(value=null||"".equals(value)){
        return true;
      }
      
        return brx_pattern.matcher(value).matches();
    }
    }
    
  • 相关阅读:
    虚树
    最小树形图
    分块
    斜率优化
    单调队列优化DP
    树套树
    2-SAT
    莫队
    单调队列
    单调栈
  • 原文地址:https://www.cnblogs.com/brxHqs/p/9700867.html
Copyright © 2011-2022 走看看