【发布时间】:2016-06-03 10:45:22
【问题描述】:
我有一个强类型表单,它使用@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() 可以正常工作。为失败的表单字段显示验证消息。如何更新默认客户端消息以列出每个验证错误消息。
【问题讨论】:
-
你试过@Html.ValidationSummary(false)
-
是的,对不起,我应该提到我试过了,但没有用
标签: .net asp.net-mvc validation razor