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

質問編集履歴

4

文章構成を変更

2016/09/29 01:20

投稿

kojisaiki
kojisaiki

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  いつもお世話になっています。
2
2
 
3
- ### 実現したいこと
3
+ ### 問題点・質問
4
4
 
5
5
  SpringBootの@RestControllerを使って、WebAPIを提供するシステムを作成しています。
6
6
 
@@ -8,6 +8,15 @@
8
8
  1. 桁数チェック(アノテーション)
9
9
  2. 必須チェック(Spring Validator)
10
10
 
11
+ エラーが発生した時(`@ExceptionHandler(MethodArgumentNotValidException.class)`にて)、`BindingResult.getDefaultMessage`によって、エラーメッセージを取得しようとしています。しかし、
12
+ 1. の桁数チェック(アノテーション)ではメッセージプロパティに定義した文章が取得できますが、
13
+ 2. の必須チェック(Spring Validator)では取得結果がnullになってしまいます。
14
+
15
+ Spring Validatorを使ったチェックでも、メッセージプロパティに定義した文章を取得したいです。
16
+ MessageSourceからメッセージを取得するタイミングが無いのだと思いますが、どのように実装するのがよいか、お教え頂ければと思います。
17
+
18
+ ### コード
19
+
11
20
  - ドメイン
12
21
  ```
13
22
  public class MyFormSpringValidation {
@@ -63,8 +72,6 @@
63
72
  ・・・
64
73
  ```
65
74
 
66
- 入力チェックのエラーの場合は、ExceptionHandlerを用いて、エラー用DTOを返すようにしています。
67
-
68
75
  - エラー用コントローラ
69
76
  ```
70
77
  @ControllerAdvice
@@ -106,16 +113,6 @@
106
113
  ・・・
107
114
  ```
108
115
 
109
- ### 質問
110
-
111
- エラーが発生した時、`BindingResult.getDefaultMessage`によって、エラーメッセージを取得しようとしています。しかし、
112
- 1. の桁数チェック(アノテーション)ではメッセージが取得できますが、
113
- 2. の必須チェック(Spring Validator)ではメッセージが取得結果がnullになります。
114
-
115
- MessageSourceからメッセージを取得するタイミングが無いのだと思いますが、どのように実装するのがよいか、お教え頂ければと思います。
116
-
117
- メッセージ周りの設定は次の通りです。
118
-
119
116
  - メッセージソース
120
117
  ```
121
118
  @Configuration

3

ヘッダ箇所追加

2016/09/29 01:19

投稿

kojisaiki
kojisaiki

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  いつもお世話になっています。
2
2
 
3
- ### 問題点・質問
3
+ ### 実現したいこと
4
4
 
5
5
  SpringBootの@RestControllerを使って、WebAPIを提供するシステムを作成しています。
6
6
 
@@ -106,6 +106,8 @@
106
106
  ・・・
107
107
  ```
108
108
 
109
+ ### 質問
110
+
109
111
  エラーが発生した時、`BindingResult.getDefaultMessage`によって、エラーメッセージを取得しようとしています。しかし、
110
112
  1. の桁数チェック(アノテーション)ではメッセージが取得できますが、
111
113
  2. の必須チェック(Spring Validator)ではメッセージが取得結果がnullになります。

2

文章構成修正

2016/09/28 00:00

投稿

kojisaiki
kojisaiki

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,10 +1,12 @@
1
1
  いつもお世話になっています。
2
2
 
3
- ###実現したいこと
3
+ ### 問題点・質問
4
4
 
5
5
  SpringBootの@RestControllerを使って、WebAPIを提供するシステムを作成しています。
6
6
 
7
- このとき、RESTコントローラ内で相関チェックを行うためにSpringValidatorを利用して独自のバリデータを作成して利用しています
7
+ コントローラにおいて、ドメインに次の2つの入力チェックを行しています
8
+ 1. 桁数チェック(アノテーション)
9
+ 2. 必須チェック(Spring Validator)
8
10
 
9
11
  - ドメイン
10
12
  ```
@@ -35,6 +37,9 @@
35
37
  errors.rejectValue("name"
36
38
  , "myformspringvalidator.name");
37
39
  }
40
+
41
+ // その他入力チェック増える予定
42
+ ・・・
38
43
  ```
39
44
 
40
45
  - RESTコントローラ
@@ -101,15 +106,9 @@
101
106
  ・・・
102
107
  ```
103
108
 
104
- ### 問題点・質問
105
-
106
- ドメインには次の2つのチェックを行っています
107
- 1. 桁数チェック(アノテーション)
108
- 2. 必須チェック(Spring Validator)
109
-
110
109
  エラーが発生した時、`BindingResult.getDefaultMessage`によって、エラーメッセージを取得しようとしています。しかし、
111
- 1. の桁数チェックではメッセージが取得できますが、
110
+ 1. の桁数チェック(アノテーション)ではメッセージが取得できますが、
112
- 2. の必須チェックではメッセージが取得結果がnullになります。
111
+ 2. の必須チェック(Spring Validator)ではメッセージが取得結果がnullになります。
113
112
 
114
113
  MessageSourceからメッセージを取得するタイミングが無いのだと思いますが、どのように実装するのがよいか、お教え頂ければと思います。
115
114
 

1

質問文の修正

2016/09/27 23:58

投稿

kojisaiki
kojisaiki

スコア13

title CHANGED
File without changes
body CHANGED
@@ -109,7 +109,7 @@
109
109
 
110
110
  エラーが発生した時、`BindingResult.getDefaultMessage`によって、エラーメッセージを取得しようとしています。しかし、
111
111
  1. の桁数チェックではメッセージが取得できますが、
112
- 2. の必須チェックではメッセージが取得できせん
112
+ 2. の必須チェックではメッセージが取得結果がnullになり
113
113
 
114
114
  MessageSourceからメッセージを取得するタイミングが無いのだと思いますが、どのように実装するのがよいか、お教え頂ければと思います。
115
115