3.2. 오류 메시지로 코드 해결 by ys
데이터 바인딩 및 유효성 검사에 대해 설명했습니다. 이 절에서는 유효성 검증 오류에 해당하는 메시지 출력에 대해 설명합니다. 이전 섹션에 본 예제에서는 name
및 age
필드를 거절했습니다 . MessageSource
를 사용하여 오류 메시지를 출력하려면 필드(이 경우 'name'및 'age') 를 거절했을 때 전달받은 오류 코드 를 사용하여 오류 메시지를 출력 할 수 있습니다.
예를 들어 rejectValue
호출하 거나( 직접 또는 간접적으로 ValidationUtils
클래스 를 사용하여) Errors
인터페이스 의 다른 reject
메소드 중 하나 를 호출했을 때 기본 구현은 전달한 코드를 등록 할뿐만 아니라 여러 가지 추가 오류 코드를 등록합니다.
MessageCodesResolver
는 Errors
인터페이스가 등록하는 오류 코드를 판별합니다. 기본적으로DefaultMessageCodesResolver
사용합니다.
예를 들어 DefaultMessageCodesResolver
는 전달한 코드를 사용하여 메시지를 등록 할뿐만 아니라 reject 메소드에 전달한 필드 이름을 포함하는 메시지도 등록합니다. 그래서 rejectValue("age", "too.darn.old")
사용해서 필드를 거절 할 경우, 스프링은 too.darn.old
코드이외에 too.darn.old.age
하고 too.darn.old.age.int
도 등록할 것입니다. (그래서 첫번째 것은 필드명을 담고 있고 두번째 것은 필드의 타입을 ㅇ담고 있는 것입니다.) 이는 오류 메시지를 대상으로 할 때 개발자를 돕는 편의를 위해 수행됩니다.
MessageCodesResolver
기본 전략에 대한 더 자세한 정보는 각각 MessageCodesResolver
및 DefaultMessageCodesResolver
javadoc는에서 찾을 수 있습니다.
Last updated