• 自定义注解标签验证


    package com.pt.modules.contract.utils.Customannotations;
    
    import java.lang.annotation.Documented;    
    import java.lang.annotation.Retention;    
    import java.lang.annotation.Target;    
    
    import javax.validation.Constraint;    
    import javax.validation.Payload;    
        
    /**
     * 
     * @description  功能描述: 自定义注解身份证号格式校验
     * @author       作        者: 
     * @param        参        数: 
     * @Createdate   建立日期: 2016年12月28日下午2:34:44
     */
    @Constraint(validatedBy = IsNumberFormatValidator.class) //具体的实现    
    @Target( { java.lang.annotation.ElementType.METHOD,    
        java.lang.annotation.ElementType.FIELD })    
    @Retention(java.lang.annotation.RetentionPolicy.RUNTIME)    
    @Documented
    public @interface IsNumberFormat {    
        String message() default "{org.hibernate.validator.constraints.NotEmpty.message}";  
        
        Class<?>[] groups() default {};    
        
        Class<? extends Payload>[] payload() default {};    
            
    }  
    package com.pt.modules.contract.utils.Customannotations;
    
    import javax.validation.ConstraintValidator;
    import javax.validation.ConstraintValidatorContext;
    
    import com.pt.modules.contract.utils.IdcardValidator;
    /**
     * 
     * @description  功能描述: 自定义注解身份证号格式校验
     * @param        参         数: 
     * @Createdate   建立日期: 2016年12月28日下午2:33:38
     */
    public class IsNumberFormatValidator implements ConstraintValidator<IsNumberFormat, String>{
        @Override    
        public boolean isValid(String IdNumber, ConstraintValidatorContext constraintValidatorContext) {
            String message=constraintValidatorContext.getDefaultConstraintMessageTemplate();
            if(IdNumber != null){    
                IdcardValidator  p = new IdcardValidator();
                boolean fglg =    p.isValidatedAllIdcard(IdNumber);
                   if(fglg==true){    
                        return true;    
                    }    
            }
            constraintValidatorContext.disableDefaultConstraintViolation();//禁用默认的message的值    
            constraintValidatorContext    
            .buildConstraintViolationWithTemplate(message+IdNumber).addConstraintViolation();  
            return false;    
        }
    
        @Override
        public void initialize(IsNumberFormat constraintAnnotation) {
            
        }
    
    }
        @IsNumberFormat(message="属性名--lenNumber,出借人身份证号格式不正确--")
        private String lenNumber;
        try {
                BeanValidators.validateWithException(validator, lendInfo);// 报文校验      }catch (ConstraintViolationException e) {
               BeanValidators.extractMessage(e).toString();      
            }
  • 相关阅读:
    SQLDataSet中执行DDL语句
    在SQL语句中使用参数
    delphi排序算法
    ClientDataSet中的PacketRecords属性,减轻网络负载,提升服务器与客户端性能
    ClientDataSet中修改,删除,添加数据和Delta属性
    SQLMonitor观察DBE的执行行为
    this的指向(慢慢添加)
    如何在Html的CSS中去除<li>标签前面小黑点,和ul、LI部分属性方法
    AJAX的工作原理及其优缺点
    IE浏览器和Firefox浏览器兼容性问题及解决办法
  • 原文地址:https://www.cnblogs.com/yy123/p/6372913.html
Copyright © 2020-2023  润新知