自定义注解 约束 @IsMobile(2)

 1 import  javax.validation.ConstraintValidator;
 2 import javax.validation.ConstraintValidatorContext;
 3 
 4 import org.apache.commons.lang3.StringUtils;
 5 
 6 import com.imooc.miaosha.util.ValidatorUtil;
 7 
 8 /**
 9  * 自定义注解  约束
10  */
11 public class IsMobileValidator implements ConstraintValidator<IsMobile, String> {
12 
13     private boolean required = false;
14 
15     /**
16      *
17      * @param constraintAnnotation  该注解的实体对象
18      */
19     public void initialize(IsMobile constraintAnnotation) {
20         required = constraintAnnotation.required();
21     }
22 
23     /**
24      *
25      * @param value 标注注解的字段值
26      * @param context 约束的上下文
27      * @return  false 表示校验没有通过,会抛出绑定异常 BindException 给框架
28      */
29     public boolean isValid(String value, ConstraintValidatorContext context) {
30         if(required) {
31             return ValidatorUtil.isMobile(value);
32         }else {
33             if(StringUtils.isEmpty(value)) {
34                 return true;
35             }else {
36                 return ValidatorUtil.isMobile(value);
37             }
38         }
39     }
40 
41 }

猜你喜欢

转载自www.cnblogs.com/Alexhuangqing/p/9471983.html