我創建了一個基於用戶模型的登錄頁面,除了用戶名和密碼(例如電子郵件地址),用戶還有其他必填字段,但我只顯示用戶名和密碼用於登錄。ValidationSummary顯示不在頁面中的字段
問題是,如果我將用戶名和/或密碼留空,ModelState將獲取Model類中所有字段的錯誤消息,從而導致誤導性驗證消息。
爲視圖的代碼是:
<div class="form-login">
@using (Html.BeginForm())
{
<h2 class="form-signin-title">Login</h2>
<div class="editor-label">
@Html.LabelFor(model => model.Username)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Username)
@Html.ValidationMessageFor(model => model.Username)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Password)
</div>
<div class="editor-field">
@Html.PasswordFor(model => model.Password)
@Html.ValidationMessageFor(model => model.Password)
</div>
<button class="btn btn-medium btn-primary" type="submit">Login</button>
}
驗證摘要是_layout的一部分,並且如果該模型不是有效時,才顯示。
有沒有一種方法可以在屏幕上顯示控件的驗證摘要?
將你的驗證總結放在你的_Layout中無疑會給你帶來更多的痛苦。只需將其放入相應的視圖中即可。 – mattytommo 2013-02-28 08:53:03
@mattytommo - 我已爲每個視圖創建了一個摘要。不是我懷疑你,但爲什麼會增加更多的痛苦,而不是它的價值? – Daryl 2013-03-01 07:27:23