2

TypeMismatch 예외 오류에 대한 메시지를 대체하지 않습니다. @NotNull, @Size, @Pattern 등과 같이 다른 모든 유효성 검사기가 예상대로 표시됩니다.봄 콩 유효성 검사 내 <code>LocalValidatorFactoryBean</code>에 대한 있지만 <strong><code>typeMismatch</code></strong> 오류가 그것으로 전달되지지고 어떤 이유로 사용자 정의 <code>MessageInterpolator</code>를 만들었습니다

는 나는 내가 사용자에게 표시 할 수 없습니다 정말 추한 오류와 함께 왼쪽 해요 : 유형의 속성 값 필요한 유형 'java.lang.String의' 'org.springframework을 변환하는 데 실패

. web.multipart.MultipartFile '속성'data '; 중첩 예외가 java.lang.IllegalStateException : 'data'속성에 대해 [java.lang.String] 유형의 값을 필수 유형 [org.springframework.web.multipart.MultipartFile]로 변환 할 수 없습니다 : 일치하는 편집기 또는 변환 전략이 없습니다 "

명확한 설명 :. 내가 의도적 typeMismatch 오류를 트리거하는 대신 파일의 String을 보내고 내 목표는 정상적으로 대신 예외 텍스트의 인간 친화적 인 오류 메시지와 함께 검증 이런 종류의 오류를 처리하는 것입니다

.

관련 버전 정보 :

  • 검증-API 1.0.0.GA
  • 최대 절전 모드 - 검증 4.3.0.Final
  • 스프링이 * 3.1.1.RELEASE
  • 어떤 도움 주셔서 감사합니다!

답변

0

Multipart 인수를 다루고 있으므로 파일 업로드를 구현하고있는 것으로 보입니다. multipartResolver을 구성 했습니까?

기본적으로 Spring은 다중 처리 [...]를하지 않습니다. 웹 애플리케이션의 컨텍스트에 멀티 파트 해석자를 추가하여 Spring 다중 처리를 가능하게합니다.

Apache Commons 또는 Servlet 3.0을 사용하는 경우 구성이 다릅니다.

다른 가능한 원인 :

  • (어떤 파일이 전송되지 않습니다) 여러 부분을 포함하지 않는 요청
  • 요청 URI가 (이 다른 처리기 메서드를 대상으로 한)
+0

잘못 예, 저는'multipartResolver'를 가지고 있습니다. 실제로 파일을받는 데 성공했는지 명확하지 않은 점에 대해 사과드립니다. (OP를 업데이트 할 것입니다.)'typeMismatch' 검증 오류를 야기하기 위해 파일 대신 String을 보내고 있습니다. 내 목표는 오류를 정상적으로 처리하는 것입니다. 오류는'BindingResult' 객체에 나타나고 모든 가능한 코드를 보여 주지만, 적절한 메시지에 매핑되지 않습니다. – jyustman