쌓고 쌓다

Bean Validation의 에러 메시지(코드) 변경 본문

프로그래밍/spring

Bean Validation의 에러 메시지(코드) 변경

승민아 2023. 9. 12. 15:11

먼저 Bean Validation 사용을 위해 클래스에 어노테이션을 사용했다.

@Data
public class Item {

    private Long id;
    @NotBlank(message = "공백X")
    private String itemName;

    @NotNull
    @Range(min=1000, max=100000)
    private Integer price;

    @NotNull
    @Max(99)
    private Integer quantity;
}

 

오류 코드는 붙은 어노테이션의 이름을 그대로 따라간다.

예를들어 @NotBlank에서 오류가 발생했다면

NotBlank라는 오류 코드로 다양한 메시지를 생성해낸다.

 

이때 메시지 생성은 MessageCodesResolver를 통해 생성해낸다.

 

NotBlank로 생성된 메시지를 보자.

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

 

에러 메시지를 등록해보자.

errors.properties

#Bean Validation
NotBlank.item.itemName = 상품명을 적어주세요.

NotBlank = {0}는 공백일 수 없습니다.
Range = {0}, {2} ~ {1} 허용
Max = {0}, 최대 {1}
  • {0} : 필드명이 들어간다.
  • {1}, {2}, ... : 어노테이션마다 다르다.

 

Bean Validation 메시지 찾는 순서

  1. 생성된 메시지 순서대로 errors.properties에서 찾기
  2. 어노테이션의 message 속성 사용
  3. 라이브러리가 제공하는 기본 메시지 사용 EX) 공백일 수 없습니다. 널일수 없습니다.
Comments