前提・実現したいこと
C# MVC4でWEBサイトの開発をしています。
intの項目に、数値でない文字を入力した際に、ModelStateに入るエラーメッセージが英語になってしまい困っています。
•The value '(入力値)' is not valid for 種別コード.
型の検証は行わないようにして、RegularExpressionの検証でチェックするようにしたいのですが、
やり方がわかりません。
もしくは、以下の日本語のメッセージが出るようにしたいです。
•値 '(入力値)' は 種別コード に対して無効です。
この日本語と英語はどこで判断しているのでしょうか?
(System.Threading.Thread.CurrentThread.CurrentUICultureは日本語になっていました。)
デバッグ中は日本語で表示されていて、発行したサイトだと英語になってしまいます。
それ以外のRequired等のエラーメッセージはちゃんと日本語になっています。
よろしくお願いします。
【追記】
追記依頼ありがとうございます。助かります。
発行は成功しています。
RegularExpressionよりも前に数値として無効の検証が動いてしまい困っています。
数値で7文字入力すると、RegularExpressionの検証が働き、期待通り"形式エラーです。"のメッセージが出ます。
該当のソースコード
C#
1 2 /// <summary> 3 /// モデルクラス 4 /// </summary> 5 public class KindModel 6 { 7 /// <summary> 8 /// コード 9 /// </summary> 10 [RegularExpression(@"[0-9]{1,6}", ErrorMessage = "形式エラーです。")] 11 [Display(ResourceType = typeof(Resources.Messages), Name = "InfoKindCode")] 12 public global::System.Int32 Code { get; set; } 13 14 /// <summary> 15 /// 名称 16 /// </summary> 17 [Display(ResourceType = typeof(Resources.Messages), Name = "InfoKindName")] 18 public global::System.String Name { get; set; } 19 } 20
cshtml
1 2@model KindModel 3@Html.ValidationSummary("", new { @class = "alert alert-danger" }) 4@using (Html.BeginForm("Create", "InfoKind", FormMethod.Post, new { @class = "form-horizontal" })) 5{ 6 @* コード *@ 7 <div class="form-group"> 8 @Html.LabelFor(m => m.Code, new { @class = "control-label required" }) 9 <div > 10 @Html.TextBoxFor(m => m.Code, new { @class = "form-control", maxlength = "6" }) 11 </div> 12 </div> 13 14 @* 名称 *@ 15 <div class="form-group"> 16 @Html.LabelFor(m => m.Name, new { @class = "control-label required" }) 17 <div> 18 @Html.TextBoxFor(m => m.Name, new { @class = "form-control" }) 19 </div> 20 </div> 21 22 <div class="form-group"> 23 <div> 24 <button type="submit" class="btn">新規登録</button> 25 </div> 26 </div> 27}
cshtml
1 2// @Html.TextBoxFor(m => m.Code, new { @class = "form-control", maxlength = "6" })の箇所 3<input name="Code" class="form-control" id="Code" type="text" maxlength="6" value="" data-val-required="コードは必須入力項目です。" data-val-regex-pattern="[0-9]{1,6}" data-val-regex="コードの入力形式が正しくありません。" data-val-number="The field コード must be a number." data-val="true"> 4
回答2件
あなたの回答
tips
プレビュー