• 自定义注解与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();
    }
    }
    
  • 相关阅读:
    SSD1963 低功耗应用
    LWIP UDP 协议分析
    CY22393的应用
    合并BIN文件的两种方法 转载
    STM32 PWM 互补输出函数 调试通过
    STM32 FSMC TFT LCD
    酷睿-家政保洁软件
    查询手机归属地
    折腾报表那些事儿(3) jatoolsprint
    table表格线条显示
  • 原文地址:https://www.cnblogs.com/brxHqs/p/9700867.html
Copyright © 2020-2023  润新知