/**
* 身份证号 @IdCard代码如下
*/
@Excel(name = "身份证号", orderNum = "1", width = 50)
@NotNull(message = "身份证号不能为空")
@Length(min = 18, max = 18, message = "身份证号长度有误")
@IdCard(message = "身份证格式不对")
private String idCard;
/**
* 校验身份证号码
* @author kepler
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = IdCardValidator.class)
@Documented
public @interface IdCard {
String message() default "";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
/**
* @author lcj
* @date 2021-08-06 14:50
*/
public class IdCardValidator implements ConstraintValidator<IdCard, String> {
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
// 校验逻辑...
if (value == null) {
return true;
}
return IdCardUtil.identityCodeValid(value).isSuccess();
}
}
IdCardUtil工具在这JAVA 身份证校验与统一社会信用代码校验_java 统一社会信用代码校验