ASP.NET MVC jQuery 验证:如何为所有必填字段显示一条消息

ASP.NET MVC jQuery validation: how to show one message for all required fields

提问人:Edi Wang 提问时间:11/28/2012 最后编辑:Edi Wang 更新时间:11/28/2012 访问量:2308

问:

我的模型中有很多字段。[Required]

而且,在传统的 MVC 方式中,我将为每个必需的文本框添加。@Html.ValidationMessageFor()

然后,如果用户没有为 5 个文本框键入任何内容,则 UI 中将显示 5 条消息。

我的问题是:我可以只显示一条消息,上面写着请在 UI 中填写必填字段,而不是到处显示消息,例如名称是必需的,地址是必需的......?

我需要在客户端进行验证,而无需将表单发布回服务器

asp.net-mvc jquery-validate unobtrusive-javascript

评论

0赞 DaveMorganTexas 11/28/2012
不是 stackoverflow.com/questions/7935568/ 的重复......,顺从亚伦的回答。
1赞 Aaron Newton 11/28/2012
不是真的 - 这是关于使用 jQuery 进行客户端验证的。

答:

3赞 Aaron Newton 11/28/2012 #1

您可能需要查看 - http://msdn.microsoft.com/en-us/library/system.web.mvc.html.validationextensions.validationsummary(v=vs.108).aspx - 返回 ModelStateDictionary 对象中验证消息的无序列表(ul 元素)。您可以像这样覆盖消息:ValidationSummary

@Html.ValidationSummary(true, "Invalid form")

来源 https://stackoverflow.com/a/4924494/201648

评论

0赞 Edi Wang 11/28/2012
谢谢,但我需要在客户端完成,而无需发布到服务器。
1赞 Aaron Newton 11/29/2012
啊!我刚刚挂接到我的事件中,并在函数中使用自定义jQuery停止提交(api.jquery.com/submit),或使用jQuery验证器 docs.jquery.com/Plugins/Validation/validate。我喜欢验证一组字段的一种方法是创建一个控制器,该控制器转换一个 JSON 对象并从页面发送 AJAX 请求。codeproject.com/Articles/216439/....也看看 bradwilson.typepad.com/blog/2010/10/...$(#yourFormName).submit(...return false
0赞 HTX9 11/28/2012 #2

您可以使用:@Html.ValidationSummary

@Html.ValidationSummary(true, "Please fill mandatory fields")

如果还想包含特定于属性的错误列表,请使用:

@Html.ValidationSummary(false, "Please fill mandatory fields")