package com.ydtech.validation; import com.ydtech.modules.ins.model.vo.CustomerInfoVo; import com.ydtech.modules.ins.utils.CommonUtil; import com.ydtech.utils.StringUtils; import com.ydtech.validation.annotation.CheckIdentifyNumberClass; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; public class IdentifyNumberValidatorClass implements ConstraintValidator { @Override public void initialize(CheckIdentifyNumberClass constraintAnnotation) { ConstraintValidator.super.initialize(constraintAnnotation); } @Override public boolean isValid(Object value, ConstraintValidatorContext context) { // 将传入的value转换为实体类对象 if (value instanceof CustomerInfoVo) { CustomerInfoVo entity = (CustomerInfoVo) value; // 现在可以通过entity对象获取所有的字段值 if(StringUtils.isBlank(entity.getProperty()) || "1".equals(entity.getProperty())){ return CommonUtil.isIDCard(entity.getIdentifyNumber()); } } return true; // 假设总是返回true,实际中需要根据依赖字段和当前字段的值来判断 } }