自定义验证摘要HTML帮助程序没有'不在客户端工作
customized validationSummary HTML helper doesn't work on Client side
我正在开发一个mvc3应用程序,我需要修改ValidationSummary消息的样式,为此,我创建了自己的HTM助手,如下所示:
public static MvcHtmlString MyValidationSummary(this HtmlHelper helper){ string retainHtml +=""; int counterror = 0; if (helper.ViewData.ModelState..IsValid) { TagBuilder tag = new TagBuilder("div"); tag.Attributes.Add("class", "validation-summary-valid"); tag.Attributes.Add("data-valmsg-summary", "true"); tag.InnerHtml += "<span> There was" + countererror + "errors found<ul><li></li></ul>" retainHtml += tag.ToString(); return MvcHtmlString.Create(retainHtml); } if (!helper.ViewData.ModelState.IsValid) { TagBuilder tag = new TagBuilder("div"); tag.Attributes.Add("class", "validation-summary-errors"); tag.Attributes.Add("data-valmsg-summary", "true"); retainHtml +="<div class='validation-summary-errors'><span>"; counterror = 1; string temretainhtml =""; foreach (var key in helper.ViewData.ModelState.keys) } foreach (var err in helper.ViewData.ModelState[key].Errors) temretainhtml += "<li>Error " + countererror++ + " : " + err.ErrorMessage + "</li>"; } retainHtml += "Error ! there was " + --countererror + " errors found"; retainHtml += "</span>"; retainHtml += "<ul>"; retainHtml += temretainhtml; retainHtml += "</ul></div>"; } return MvcHtmlString.Create(retainHtml); } } }
这与服务器端验证非常配合,但我也需要在客户端验证上实现这种风格,现在,表单在客户端页面的顶部显示validationSummary,但使用默认的MVC格式,而不是我在HTML助手中指定的格式,我是否需要对jquery.validate.uno唐突.js文件进行任何更改以应用这些更改?还是我需要在jquery中创建另一个验证文件?我在jquery的经验很差,我现在很失落,如果你能给我任何帮助,我将不胜感激。
非常感谢!!!
延迟回答:jquery.validate.uno唐突.js很难挂接。与其修改文件(从来都不理想),不如试试这个:
收听以下事件
form.bind("invalid-form.validate", handler...
然后构建自己的摘要:
form.bind("invalid-form.validate", function (evt, validator) {
var container = $(this).find("[data-valmsg-summary=true]");
var list = container.find("ul");
if (list && list.length && validator.errorList.length) {
list.empty();
container.addClass("validation-summary-errors").removeClass("validation-summary-valid");
$.each(validator.errorList, function () {
$("<li style='color:#00aa00'/>").html(this.message).appendTo(list);
});
}
});
您应该看看本教程的末尾:
http://thepursuitofalife.com/asp-net-mvc-3-unobtrusive-javascript-validation-with-custom-validators/
相关文章:
- Imgur 通过客户端 javascript 上传工作,但不是 node.js.慌乱了
- ASPxClientGridView之后激发的客户端事件.ApplyFilter执行其工作
- Backbone.js应用程序使用CommonJS结构与node.js和客户端协同工作
- socket.io-发送到socketid(单个客户端)不工作
- SignalR使集线器外的客户端无法工作
- Java 脚本 Web 套接字客户端无法正常工作
- Rx如何在Web(客户端)上真正工作
- JavaScript 的客户端缓存是如何工作的
- Asp.net.服务器端验证和客户端验证很好地协同工作的最佳方式是什么?
- 我的节点.js https 客户端始终工作,无论证书有效性如何
- struts2 jquery ajax 和客户端验证不工作
- 可以't使nntp客户端(nodejs)正常工作
- 自定义验证摘要HTML帮助程序没有'不在客户端工作
- 让Pusher JS客户端在PhantomJS中工作
- XML读取代码在我的服务器上工作,但在我的客户端服务器上不工作
- Valence javascript客户端库在本地主机上工作吗
- TLS WebSocket服务器与firefox客户端一起工作,但不与chrome客户端一起工作
- GridView客户端分页不工作
- Timer中的客户端脚本不工作
- 是 angularjs 工作客户端