12月9日

SpringMVCのHibernate Validationで入力チェックしようとすると、次のエラーが表示される。

The request sent by the client was syntactically incorrect.

    @RequestMapping(value = "/input", method = RequestMethod.POST)
    public String form1(@Valid @ModelAttribute Hoge hoge, Model model, Errors result) {
        if (result.hasErrors()) {
            model.addAttribute("message", "エラーですよ");
            return "input";
        }
 	// 正常処理
        return "input";
    }

java – Syntactically incorrect request sent upon submitting form with invalid data in Spring MVC (which uses hibernate Validator) – Stack Overflow

You have to modify the order of your arguments. Put the BindingResult result parameter always directly after the parameter with the @Valid annotation.

BindingResultパラメータは、@Validアノテーションをつけた引数の直後に書かないといけないらしい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です