IdentifyNumberValidatorClass.java 1.2 KB

123456789101112131415161718192021222324252627282930
  1. package com.ydtech.validation;
  2. import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
  3. import com.ydtech.modules.ins.utils.CommonUtil;
  4. import com.ydtech.utils.StringUtils;
  5. import com.ydtech.validation.annotation.CheckIdentifyNumberClass;
  6. import javax.validation.ConstraintValidator;
  7. import javax.validation.ConstraintValidatorContext;
  8. public class IdentifyNumberValidatorClass implements ConstraintValidator<CheckIdentifyNumberClass, Object> {
  9. @Override
  10. public void initialize(CheckIdentifyNumberClass constraintAnnotation) {
  11. ConstraintValidator.super.initialize(constraintAnnotation);
  12. }
  13. @Override
  14. public boolean isValid(Object value, ConstraintValidatorContext context) {
  15. // 将传入的value转换为实体类对象
  16. if (value instanceof CustomerInfoVo) {
  17. CustomerInfoVo entity = (CustomerInfoVo) value;
  18. // 现在可以通过entity对象获取所有的字段值
  19. if(StringUtils.isBlank(entity.getProperty()) || "1".equals(entity.getProperty())){
  20. return CommonUtil.isIDCard(entity.getIdentifyNumber());
  21. }
  22. }
  23. return true; // 假设总是返回true,实际中需要根据依赖字段和当前字段的值来判断
  24. }
  25. }