第一步 在 pom 中引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
第二步 创建一个普通的类将至变成注解
@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {IsMobileValidator.class})
public @interface IsMobile {
String message() default "手机号码格式错误";
Class<?>[] groups() default { };
Class<? extends Payload>[] payload() default { };
}
步骤就是讲 class 替换成 @interface.然后将其他的复制出来就行,message() default 需要自己写
第三步 创建另一个类继承 ConstraintValidator<> 接口
public class IsMobileValidator implements ConstraintValidator<IsMobile,String> {
public static final String REGEX_MOBILE = "^((17[0-9])|(14[0-9])|(13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";
@Override
public void initialize(IsMobile constraintAnnotation) {
}
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
try {
if(StringUtils.isEmpty(value))
{
return false;
}
return Pattern.matches(REGEX_MOBILE,value);
} catch (Exception e) {
return false;
}
}
}
在 isValid 下写判断逻辑
最后就可以使用 @isMobile
@IsMobile
private String phone;
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于