Annotation Interface Mobile
@Target({METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER,TYPE_USE})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy=MobileValidator.class)
public @interface Mobile
手机号码验证注解
用于验证字段是否为有效的手机号码
M39: 由组合 @Pattern 注解改为自定义校验器(MobileValidator)——
原组合 @Pattern 下 required 属性无消费者(required=false 时空串仍失败、required=true 时 null 仍通过),
现 required 语义真正生效;regexp 可自定义(原 @AliasFor 为 Spring 语义,Bean Validation 不识别,已移除)
支持的手机号码格式: - 11位手机号码,如:13812345678 - 带国际区号的手机号码,如:+8613812345678 - 带国内区号的手机号码,如:013812345678
支持的目标元素: - 方法、字段、注解类型、构造函数、参数、类型使用
- Author:
- Kerbores(kerbores@riemann.tech)
-
Optional Element Summary
Optional Elements
-
Element Details
-
required
boolean required是否必填默认为true,表示该字段必须填写;required=false 时 null/空串通过
- Returns:
- 是否必填
- Default:
true
-
regexp
String regexp手机号码验证的正则表达式默认为验证中国大陆手机号码的正则表达式(可选前缀 0/86/+86/17951,与 javadoc 语义对齐)
- Returns:
- 手机号码验证的正则表达式
- Default:
"^(\\+?86|0|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$"
-
message
String message错误消息当手机号码格式错误时显示的错误消息(Bean Validation 直接读取本属性,无需 @AliasFor)
- Returns:
- 错误消息
- Default:
"\u624b\u673a\u53f7\u7801\u683c\u5f0f\u9519\u8bef"
-
groups
-
payload
Class<? extends jakarta.validation.Payload>[] payload负载用于传递额外的验证信息,默认为空数组
- Returns:
- 负载数组
- Default:
{}
-