반응형

Bean Validation - 에러 코드


Bean Validation이 기본으로 제공하는 오류 메시지를 좀 더 자세히 변경하고 싶으면 어떻게 하면 될까?

Bean Validation을 적용하고 bindingResult에 등록된 검증 오류 코드를 보자.
오류 코드가 애노테이션 이름으로 등록된다. 마치 typeMismatch와 유사하다.

NotBlank라는 오류 코드를 기반으로 MessageCodesResolver를 통해 다양한 메시지 코드가 순서대로 생성된다.



@NotBlank

  • NotBlank.item.itemName
  • NotBlank.itemName
  • NotBlank.java.lang.String
  • NotBlank

 

@Range

  • Range.item.price
  • Range.price
  • Range.java.lang.Integer
  • Range

 

메시지 등록
이제 메시지를 등록해보자.

errors.properties

{0}은 필드명이고, {1}, {2} ... 은 각 애노테이션 마다 다르다.

실행
실행해보면 방금 등록한 메시지가 정상 적용되는 것을 확인할 수 있다.


BeanValidation 메시지 찾는 순서

  1. 생성된 메시지 코드 순서대로 messageSource 에서 메시지 찾기
  2. 애노테이션의 message 속성 사용 → @NotBlank(message = "공백! {0}")
  3. 라이브러리가 제공하는 기본 값 사용 → 공백일 수 없습니다.


애노테이션의 message 사용 예

 

반응형