➊
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의 메시지를 출력합니다.