teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コード修正

2021/06/07 17:29

投稿

kanetugu_70e
kanetugu_70e

スコア100

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  エラーの通りですが、BindingResultは基本的に、`ModelAttribute`(Formオブジェクトなど)、`@RequestBody`、`@RequestPart`の後に定義すると書いてあるので、そのいずれかを満足させなければなりません。
2
- CSVファイルのバリデーションとの事なので、`@InitBinder`でバリデーションに使用するValidatorをセットして、Formオブジェクトを検証する事になるかと思います。
2
+ CSVファイルのバリデーションとの事なので、`@InitBinder`でバリデーションに使用するValidatorをセットして、Formオブジェクトを検証する事になるかと思います。(Spring Validator)
3
3
  具体的には以下の通りです。
4
4
 
5
5
  ```java
@@ -7,6 +7,11 @@
7
7
  @Component
8
8
  public class MultipartFileValidator implements Validator {
9
9
  @Override
10
+ public boolean supports(Class<?> clazz) {
11
+ return UploadBean.class.isAssignableForm(clazz);
12
+ }
13
+
14
+ @Override
10
15
  public void validate(Object validatedTarget, Errors errors) {
11
16
  UploadBean uploadBean = (UploadBean)validatedTarget;
12
17