public boolean supports(Class<?> clazz) { // Book 클래스의 유효성 검사 여부를 위한 메서드
            return Book.class.isAssignableFrom(clazz);
        }

        public void validate(Object target, Errors errors) { // Book 클래스의 유효성 검사 메서드
            Book book = (Book) target;
            if (book.getUnitPrice() >= 10000 && book.getUnitsInStock() > 99) {
                // 오류 객체의 속성과 메시지 저장
                errors.rejectValue("unitsInStock", "UnitsInStockValidator.message"); 
            }
        }
    }

    Validator 인터페이스의 supports() 메서드는 주어진 Book 클래스에 대한 유효성 검사 여부를 결정합니다.

    Validator 인터페이스의 validate() 메서드는 주어진 Book 클래스에 대해 유효성 검사를 합니다. 도서 가격이 1만 원 이상이고, 재고가 99권을 초과하면 유효성 검사를 할 때 오류가 발생합니다. 그러면 Errors 객체의 rejectValue() 메서드가 메시지 리소스 파일에 설정된 오류 코드 UnitsInStockValidator.message의 메시지를 출력합니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.