Class IDCardValidator

java.lang.Object
tech.riemann.nif.web.jsr380.validator.IDCardValidator
All Implemented Interfaces:
jakarta.validation.ConstraintValidator<IDCard,String>

public class IDCardValidator extends Object implements jakarta.validation.ConstraintValidator<IDCard,String>
身份证号码验证器

实现ConstraintValidator接口,用于验证身份证号码的有效性

与IDCard注解配合使用,支持以下验证规则: 1. 验证身份证号码格式是否正确 2. 支持设置是否必填

验证逻辑: - 如果设置为必填,则不能为空且必须是有效的身份证号码 - 如果设置为非必填,则可以为空,非空时必须是有效的身份证号码

Author:
Kerbores(kerbores@riemann.tech)
  • Constructor Details

    • IDCardValidator

      public IDCardValidator()
  • Method Details

    • initialize

      public void initialize(IDCard anno)
      初始化验证器

      从IDCard注解中获取required属性的值

      Specified by:
      initialize in interface jakarta.validation.ConstraintValidator<IDCard,String>
      Parameters:
      anno - IDCard注解实例
    • isValid

      public boolean isValid(String idcard, jakarta.validation.ConstraintValidatorContext context)
      验证身份证号码是否有效

      验证规则: 1. 如果required为true,则身份证号码不能为空且必须有效 2. 如果required为false,则身份证号码可以为空,非空时必须有效

      Specified by:
      isValid in interface jakarta.validation.ConstraintValidator<IDCard,String>
      Parameters:
      idcard - 待验证的身份证号码
      context - 验证上下文
      Returns:
      如果身份证号码有效返回true,否则返回false