0

JSP フォームStringのフィールドにa を入力しようとすると、通常のフォーム検証ではなく、依然として致命的なエラーが発生します。messages.properties (マップでコレクションを検証する方法int) に追加しましたが、機能しませんでした。他に何が欠けている可能性がありますか?typeMismatch=msg

4

1 に答える 1

1

問題が見つかりました:これを書くことはできません:

@RequestMapping(value = "/addSomething", method = RequestMethod.POST)
public String addSomething(
        @ModelAttribute("something") Something something, 
        @Valid Something validSomething,
        BindingResult result,
        ModelMap map) {
    ...

一部の属性は String から int に変換する必要があり、変換は検証前に行われました。これは良くない!また、validSomething役に立たない。これにより問題が修正されました:

@RequestMapping(value = "/addSomething", method = RequestMethod.POST)
    public String addSomething(
            @Valid @ModelAttribute("something") Something something, 
            BindingResult result,
            ModelMap map) {
        ...

これは、コードを質問に入れるほうがよいことも証明しています。そして「あなた」とは私を意味します。

于 2013-05-14T14:05:31.687 に答える