2

カスタムMessageInterpolatorを作成しましたLocalValidatorFactoryBeanが、何らかの理由でtypeMismatchエラーが渡されません。、 、 など@NotNull、私が使用している他のすべてのバリデーターは、期待どおりに表示されます。@Size@Pattern

ユーザーに表示できない非常に醜いエラーが残っています。

タイプ 'java.lang.String' のプロパティ値を、プロパティ 'data' に必要なタイプ 'org.springframework.web.multipart.MultipartFile' に変換できませんでした。ネストされた例外は java.lang.IllegalStateException です: タイプ [java.lang.String] の値をプロパティ 'data' の必要なタイプ [org.springframework.web.multipart.MultipartFile] に変換できません: 一致するエディターまたは変換戦略が見つかりません"

明確化:Stringエラーをトリガーするために、ファイルの代わりに意図的に送信していtypeMismatchます。私の目標は、この種の検証エラーを、例外テキストの代わりにわかりやすいエラー メッセージで適切に処理することです。

関連するバージョン情報:

  • 検証 API 1.0.0.GA
  • hibernate-validator 4.3.0.Final
  • spring-* 3.1.1.RELEASE

助けてくれてありがとう!

4

1 に答える 1

0

引数を扱っているのでMultipart、ファイルのアップロードを実装していると思われます。multipartResolverを構成しましたか?

デフォルトでは、Spring はマルチパート処理を行いません [...]。マルチパート リゾルバーを Web アプリケーションのコンテキストに追加することで、Spring マルチパート処理を有効にします。

Apache Commons または Servlet 3.0 を使用している場合は、構成が異なることに注意してください。

その他の考えられる原因:

  • リクエストにマルチパートが含まれていません (ファイルは送信されません)
  • リクエスト URI が間違っています (他のハンドラー メソッド用でした)。
于 2012-06-28T18:52:32.640 に答える