[Validator] HV000033: At least one custom message must be created if the default error message gets disabled

갓김치·2021년 7월 15일
0

예외

목록 보기
17/28
post-custom-banner

상황

  • CustomValidator 구현 중 예외 발생

해결

  • ConstraintValidator를 implement한 class의 isValid 메서드 수정

기존 코드

    @Override
    public boolean isValid(Integer givenNumber, ConstraintValidatorContext constraintValidatorContext) {
        boolean isValid = Arrays.asList(range).contains(givenNumber);

        if(!isValid) {
            constraintValidatorContext.disableDefaultConstraintViolation();
            constraintValidatorContext.buildConstraintViolationWithTemplate(message); // 여기가 잘못됨
        }
        return isValid;
    }

수정된 코드

    @Override
    public boolean isValid(Integer givenNumber, ConstraintValidatorContext constraintValidatorContext) {
        boolean isValid = Arrays.asList(range).contains(givenNumber);

        if(!isValid) {
            constraintValidatorContext.disableDefaultConstraintViolation();
            constraintValidatorContext.buildConstraintViolationWithTemplate(message).addConstraintViolation(); // add해줘야함
        }
        return isValid;
    }
profile
갈 길이 멀다
post-custom-banner

0개의 댓글