手机号校验注解
Sync All Branches to GitHub / sync (push) Successful in 2s

This commit is contained in:
2026-01-18 13:23:14 +08:00
parent 1c6a5dc3be
commit 160a5fecd9
4 changed files with 59 additions and 0 deletions
@@ -0,0 +1,28 @@
package top.crushtj.framework.common.validator;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @author ayi
* @version V1.0
* @title PhoneNumber
* @date 2026/01/18
* @description 手机号验证
*/
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = PhoneNumberValidator.class)
public @interface PhoneNumber {
String message() default "手机号格式不正确, 需为 11 位数字";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
@@ -0,0 +1,25 @@
package top.crushtj.framework.common.validator;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
/**
* @author ayi
* @version V1.0
* @title PhoneNumberValidator
* @date 2026/01/18 13:17
* @description 手机号验证器
*/
public class PhoneNumberValidator implements ConstraintValidator<PhoneNumber,String> {
@Override
public boolean isValid(String phoneNumber, ConstraintValidatorContext context) {
// 校验逻辑:正则表达式判断手机号是否为 11 位数字
return phoneNumber != null && phoneNumber.matches("\\d{11}");
}
@Override
public void initialize(PhoneNumber constraintAnnotation) {
ConstraintValidator.super.initialize(constraintAnnotation);
}
}