Annotation Interface IDCard


@Target({METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER,TYPE_USE}) @Retention(RUNTIME) @Documented @Constraint(validatedBy=IDCardValidator.class) public @interface IDCard
身份证号码验证注解

用于验证字段是否为有效的身份证号码

实现了JSR 380规范的Constraint接口,使用IDCardValidator进行验证

M40: 移除 message/groups/payload 上的 @AliasFor(annotation = Pattern.class)—— 本注解并无 @Pattern 元注解,该 @AliasFor 指向不存在目标且为 Spring 语义 (Bean Validation/Hibernate Validator 不识别);message/groups/payload 由 Bean Validation 直接反射读取注解属性,本就生效

主要功能: 1. 验证身份证号码格式是否正确 2. 支持设置是否必填 3. 支持自定义错误消息

支持的目标元素: - 方法、字段、注解类型、构造函数、参数、类型使用

Author:
Kerbores(kerbores@riemann.tech)
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<?>[]
    验证组
    错误消息
    Class<? extends jakarta.validation.Payload>[]
    负载
    boolean
    是否必填
  • Element Details

    • required

      boolean required
      是否必填

      默认为true,表示该字段必须填写

      Returns:
      是否必填
      Default:
      true
    • message

      String message
      错误消息

      当身份证号码格式错误时显示的错误消息

      Returns:
      错误消息
      Default:
      "\u8eab\u4efd\u8bc1\u53f7\u7801\u683c\u5f0f\u9519\u8bef"
    • groups

      Class<?>[] groups
      验证组

      用于分组验证,默认为空数组

      Returns:
      验证组数组
      Default:
      {}
    • payload

      Class<? extends jakarta.validation.Payload>[] payload
      负载

      用于传递额外的验证信息,默认为空数组

      Returns:
      负载数组
      Default:
      {}