码迷,mamicode.com
首页 > 其他好文 > 详细

自定义注解标签验证

时间:2017-02-07 10:55:26      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:ble   ddc   str   验证   nts   end   实现   style   utils   

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();      
        }

 

自定义注解标签验证

标签:ble   ddc   str   验证   nts   end   实现   style   utils   

原文地址:http://www.cnblogs.com/yy123/p/6372913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!