더북(TheBook)

코드13-19 BookId.java

package com.springmvc.validator;
...

@Target({METHOD, FIELD, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy=BookIdValidator.class)
public @interface BookId {
    String message() default "{BookId.NewBook.bookId}"; 
    Class<?>[] groups() default {};
    public abstract Class<? extends Payload>[] payload() default {};
}

코드 13-17 BookValidator 클래스의 validate() 메서드에서 살펴보면, 제약 사항에 대한 오류가 발생했을 때 ConstraintViolation 객체는 messageTemplate='{javax.validation.constraints.필드 이름.message}'처럼 메시지 형식의 정보를 가져옵니다. 그러므로 유효성 검사에 따른 오류 메시지를 적절하게 출력하려면 messageTemplate에 맞추어 { } 패턴 형식으로 코드를 수정합니다.

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