回答編集履歴

1

追記

2019/05/16 03:01

投稿

退会済みユーザー
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- .NET Framework ベースの MVC5 の話ですが、Visual Studio 2015 のテンプレートを使ってプロジェクトを生成すると日本語のサテライトアセンブリがインストールされず、エラーメッセージが英語になってしまいまうということがありました。(MVC4 は自動的にインストールされるので問題なし)
5
+ .NET Framework ベースの MVC5 の話ですが、Visual Studio 2015 のテンプレートを使ってプロジェクトを生成すると日本語のサテライトアセンブリがインストールされず、エラーメッセージが英語になってしまうということがありました。(MVC4 は自動的にインストールされるので問題なし)
6
6
 
7
7
 
8
8
 
@@ -21,3 +21,69 @@
21
21
 
22
22
 
23
23
  ハズレだったらすみません。
24
+
25
+
26
+
27
+ **【追加情報】**
28
+
29
+
30
+
31
+ .NET Framework ベースの MVC4, MVC5 の話なので役に立たないかもしれませんが、Core でも同じところは多々ありそうなので、ご参考までに以下の追加情報を書いておきます。
32
+
33
+
34
+
35
+ 参考にされている記事のようにリソースファイルを使った多言語化の一環として日本語化を行う場合、以下の記事のようにして可能です。
36
+
37
+
38
+
39
+ データアノテーション検証の多言語対応
40
+
41
+ [http://surferonwww.info/BlogEngine/post/2014/09/11/multi-languages-message-for-data-annotation.aspx](http://surferonwww.info/BlogEngine/post/2014/09/11/multi-languages-message-for-data-annotation.aspx)
42
+
43
+
44
+
45
+ 質問差さんが参考にされている記事に "ModelMetadataDetailsProvidersを設定することにより各Attributeに対してErrorMessageResourceType、ErrorMessageResourceNameを強制的に一括で設定できるようです" とありますが、上の記事「データアノテーション検証の多言語対応」のサンプルコードのようにプロパティに直接属性として設定すれば不要です。
46
+
47
+
48
+
49
+ ```
50
+
51
+ [Required(
52
+
53
+ ErrorMessageResourceType=typeof(Mvc4App.Resource1),
54
+
55
+ ErrorMessageResourceName="Required")]
56
+
57
+ [StringLength(
58
+
59
+ 5,
60
+
61
+ ErrorMessageResourceType = typeof(Mvc4App.Resource1),
62
+
63
+ ErrorMessageResourceName = "StringLength")]
64
+
65
+ [Display(
66
+
67
+ Name = "Name",
68
+
69
+ ResourceType = typeof(Mvc4App.Resource1))]
70
+
71
+ public string Name { get; set; }
72
+
73
+ ```
74
+
75
+
76
+
77
+ プロパティに DataType 属性を付与すると付与されるエラーメッセージが異なってきますので注意してください。特に EditorFor を使うと DataType 属性やプロパティの型によって input type="xxx" の xxx が異なってきて、特に date とか number になるとブラウザ依存の違いが大きいので要注意だと思います。詳しくは以下の記事を見てください。
78
+
79
+
80
+
81
+ DataType 属性による検証
82
+
83
+ [http://surferonwww.info/BlogEngine/post/2016/03/08/validation-by-datatypeattribute-and-default-error-message.aspx](http://surferonwww.info/BlogEngine/post/2016/03/08/validation-by-datatypeattribute-and-default-error-message.aspx)
84
+
85
+
86
+
87
+ int 型プロパティの検証、エラーメッセージ
88
+
89
+ [http://surferonwww.info/BlogEngine/post/2019/03/24/validation-and-error-message-of-int-type-property.aspx](http://surferonwww.info/BlogEngine/post/2019/03/24/validation-and-error-message-of-int-type-property.aspx)