[SPRING] 봄 MVC - 잘못된 날짜에 대한 Joda datetime 오류 메시지
SPRING봄 MVC - 잘못된 날짜에 대한 Joda datetime 오류 메시지
요청 개체에 joda datetime 특성이 있고 날짜 형식으로 @DateTimeFormat을 사용했습니다. 하지만 잘못된 날짜 (일일 55 자)를 입력하면 전체 메시지가 표시됩니다.
java.lang.String 유형의 등록 정보 값을 등록 정보 request.myDate의 필수 유형 org.joda.time.DateTime으로 변환하는 데 실패했습니다. 중첩 예외는 org.springframework.core.convert.ConvertFailedException : 값 "55/12/2014"를 java.lang.String 유형에서 org.joda.time.DateTime 유형으로 변환 할 수 없습니다. 중첩 예외는 org.joda.time.IllegalFieldValueException : "55/12/2014"을 구문 분석 할 수 없습니다 : dayOfMonth 값 55는 [1,31] 범위 내에 있어야합니다.
현재 메시지가 Spring에 의해 생성되므로 어떻게 커스텀 메시지로 변경할 수 있습니까?
다른 질문에서 날짜가 잘못된 경우 Spring mvc Joda Datetime 변환기가 실패합니다. message.properties에 항목을 입력하라는 메시지가 표시됩니다. 그러나 나는 어떤 오류도 내지 않을 것이므로 속성 파일에서 메시지를 선택하는 방법을 이해할 수 없습니다 .rejectValue 유형의 것입니다. 그러면 메시지가 어떻게 식별 될 것입니까?
해결법
-
==============================
1.귀하의 질문에 링크 된 접근 방식이 효과가 있습니다. 그러나 사용해야하는 메시지 키는 예를 들어 typeMismatch.org.joda.time.DateTime입니다.
귀하의 질문에 링크 된 접근 방식이 효과가 있습니다. 그러나 사용해야하는 메시지 키는 예를 들어 typeMismatch.org.joda.time.DateTime입니다.
Spring이 수동으로 값을 거부하지는 않지만 Spring은 DefaultMessageCodesResolver의 JavaDoc에 설명 된 규칙을 기반으로 메시지를 찾을 위치를 자동으로 알 수 있습니다.
Spring이 다음과 같은 코드를 구체적으로 찾을 것이라고 설명하는 상황에서 :
따라서 잘못된 형식과 같은 일반적인 typeMismatch 메시지를 정의한 다음 필요에 따라 더 구체적인 메시지를 정의 할 수 있습니다. 보다 구체적인 오류 코드는 아래의 오류 코드보다 우선 순위가 높습니다. 따라서 typeMismatch와 typeMismatch.org.joda.time.DateTime 메시지를 모두 정의한 경우에는 후자가 사용됩니다.
from https://stackoverflow.com/questions/27706068/spring-mvc-joda-datetime-error-message-for-invalid-date by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring 데이터 REST : 단일 리소스의 투영 표현 (0) | 2019.02.26 |
---|---|
[SPRING] 웹 환경에서 NoClassDefFoundError 오류 문제 Spring / Wicket / Derby / Jetty (0) | 2019.02.26 |
[SPRING] 이미지 byte []를 Grails의 response.outputStream으로 보내면 "응답이 커밋 된 후에 전달할 수 없습니다" (0) | 2019.02.26 |
[SPRING] 제네릭 매개 변수 별 싱글 톤 인스턴스 (0) | 2019.02.26 |
[SPRING] 재 연결시 시퀀스의 현재 값이 다음 100으로 넘어갑니다 (0) | 2019.02.26 |