3.2. 오류 메시지로 코드 해결 by ys

데이터 바인딩 및 유효성 검사에 대해 설명했습니다. 이 절에서는 유효성 검증 오류에 해당하는 메시지 출력에 대해 설명합니다. 이전 섹션에 본 예제에서는 nameage필드를 거절했습니다 . MessageSource를 사용하여 오류 메시지를 출력하려면 필드(이 경우 'name'및 'age') 를 거절했을 때 전달받은 오류 코드 를 사용하여 오류 메시지를 출력 할 수 있습니다.

예를 들어 rejectValue호출하 거나( 직접 또는 간접적으로 ValidationUtils클래스 를 사용하여) Errors인터페이스 의 다른 reject메소드 중 하나 를 호출했을 때 기본 구현은 전달한 코드를 등록 할뿐만 아니라 여러 가지 추가 오류 코드를 등록합니다.

MessageCodesResolverErrors인터페이스가 등록하는 오류 코드를 판별합니다. 기본적으로DefaultMessageCodesResolver사용합니다.

예를 들어 DefaultMessageCodesResolver는 전달한 코드를 사용하여 메시지를 등록 할뿐만 아니라 reject 메소드에 전달한 필드 이름을 포함하는 메시지도 등록합니다. 그래서 rejectValue("age", "too.darn.old") 사용해서 필드를 거절 할 경우, 스프링은 too.darn.old코드이외에 too.darn.old.age하고 too.darn.old.age.int도 등록할 것입니다. (그래서 첫번째 것은 필드명을 담고 있고 두번째 것은 필드의 타입을 ㅇ담고 있는 것입니다.) 이는 오류 메시지를 대상으로 할 때 개발자를 돕는 편의를 위해 수행됩니다.

MessageCodesResolver 기본 전략에 대한 더 자세한 정보는 각각 MessageCodesResolverDefaultMessageCodesResolver javadoc는에서 찾을 수 있습니다.

Last updated