我有一个强类型表单,它使用@Html.ValidationMessageFor()
在表单字段旁边输出验证邮件,例如@Html.ValidationMessageFor(m => m.Comment)
。这很有效。
我想在提交按钮的正上方添加一个验证摘要,该按钮将错误列表输出为ul。但是,使用@Html.ValidationSummary();
会导致两个问题。
第1期 它输出验证消息,如此
我希望列出每个错误,例如
第2期 验证被触发后,一旦我纠正了验证错误,我再也无法通过重新选择提交按钮来发帖了吗?
以下是我的表单
的简化版本@using System.Linq
@using System.Web
@model MyProject.Models.ViewModels.Forms.ContactViewModel
<div class="form-block">
@using (Html.BeginForm("Submit", null, FormMethod.Post, new { enctype = "multipart/form-data"}))
{
<fieldset>
<legend>1. Your details</legend>
<div>
<div>
@Html.RequiredLabelFor(m => m.FirstName)
</div>
<div>
<div>
@Html.TextBoxFor(m => m.FirstName, new { placeholder = "First name" })
</div>
@Html.ValidationMessageFor(m => m.FirstName)
</div>
</div>
<div>
<div>
<input type="submit" value="Submit feedback"/>
</div>
@Html.ValidationSummary();
</div>
}
</div>
有人可以告诉我如何解决这个问题吗?
由于
编辑*确定我已禁用javascript并使用@ Html.ValidationSummary()与服务器端帖子工作正常。将显示失败的表单字段的验证消息。如何更新默认客户端消息以列出每个验证错误消息。
答案 0 :(得分:0)
在控制器的post方法中检查ModelStateDictionary对象 - Html.ValidationSummary()方法根据其中存在的错误返回html UL。