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();
    }
    }
    
  • 相关阅读:
    02-model设计
    01-开发环境搭建
    04-Uwsgi配置启动Nginx虚拟主机配置
    03-MySQL安装与配置
    02-Nginx配置
    01-Nginx安装
    22-注册、登录、验证登录
    21-django-pure-pagination分页
    (二)windows上使用docker
    Docker在windows7上的安装
  • 原文地址:https://www.cnblogs.com/brxHqs/p/9700867.html
Copyright © 2011-2022 走看看