SpringBootでValidationチェックメソッドを挟みたいのにErrorページに遷移する場合

状況

SpringBoot のフォーム送信時に入力値チェックを行い、エラーがある場合にはフォームの登録を行わずにフォーム画面上でエラーメッセージを表示したい。
だが、フォーム送信後は400エラーのERRORページに遷移してしまう。
コンソールには

Field error in object 'activity' on field 'cost': rejected value [10000000000]; codes [typeMismatch.activity.cost,typeMismatch.cost,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [activity.cost,cost]; arguments []; default message [cost]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'cost'; nested exception is java.lang.NumberFormatException: For input string: "10000000000"]]

といった行が出ており、入力値チェックはきちんと行われているようである。
デバッグ実行をしてみても、入力値に問題がないフォーム送信後にはきちんと呼び出されるメソッドが通っていないようである。

原因(僕の場合)

フォーム送信後に呼び出されるメソッドの引数の順番ミス

 public ModelAndView upsert(@ModelAttribute @Validated Activity activity
                                , ModelAndView mav
                                , BindingResult result) {

といったメソッドを呼び出していたが、正しくは

 public ModelAndView upsert(@ModelAttribute @Validated Activity activity
                                , BindingResult result
                                , ModelAndView mav) {

のようにBindingResultは2番目。
入力値に問題がない場合は問題なく呼び出されているので、別のところが問題なのかと一生懸命探していました・・・。引数の順番を気にするのは当たり前なはずなのに、忘れていましたとさ。