ビューの入力モデルフィールドに表示される検証エラーメッセージが表示されないようです。検証は実行されますが、失敗した場合はメッセージは表示されません。私は何が欠けていますか? MVC 5 Razor
上記[必須]タグは、[説明]入力によってModelStateが無効になりますが、送信を停止しません。私はモデル状態をチェックすることでそれをキャッチする必要があります。いくつかの.jsファイルがありませんか?私はこれを二重チェックする例はありません。
はここに私のモデルである(私は今のところ唯一の[必須]を持って注意してください):
public partial class Requests
{
public int RequestID { get; set; }
public string NickName { get; set; }
public Nullable<double> Lat { get; set; }
public Nullable<double> Lng { get; set; }
public string ZipCode { get; set; }
[Required(ErrorMessage = "Description of what you need is missing.")]
public string Description { get; set; }
public System.DateTime DateCreated { get; set; }
}
はここで説明入力が入力を必要とする私の見解です。ここで
<div class="form-group">
@Html.LabelFor(model => model.Description, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextAreaFor(model => model.Description, new { htmlAttributes = new { @class = "form-control", @rows = "20", @cols = "200" } })
@Html.ValidationMessageFor(model => model.Description, "", new { @class = "text-danger" })
</div>
</div>
私のコントローラのActionResult(ダウンskinnied)ModelState
失敗した
if (ModelState.IsValid)
{
//THIS ALL WORKS IF Description HAS INPUT
}
else
{
TempData["Saved"] = "Nothing saved yet. Look for reason.";
return RedirectToAction("StoreRequests", new { lat = requests.Lat, lng = requests.Lng });
}
ユーザーが正しいビューを対象とTempData
は何も保存されていなかったことを示していますさ。ただし、違反入力の下のビューにはエラーメッセージが表示されず、ビューの一番上にはValidationSummary
がありません。また、入力ミスで送信が停止されることはありません。
@if(TempData["Saved"] != null)
{
<span style="color: red;">@TempData["Saved"].ToString()</span>
}
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
ステファンありがとうございます。私はこれら2を加えて、それは働いた。おそらく、_Layout.cshtmlにもっとカップルがあったでしょう。 "スクリプトのsrc =" @ Url.Content( "〜/ Scripts/jquery.validate.min.js" "jquery.validate.unobtrusive.min.js") "type =" text/javascript "> あなたが答えをしたいのなら、私はそれを受け入れます。 – JustJohn
なぜ私はダウン投票を得たか分かりません。ああよく – JustJohn