我正在我的 ASP.NET MVC 4 应用程序中进行客户端验证。我试图从不引人注目的 jquery 验证中覆盖默认验证摘要。有一个方法“OnErrors”,我需要重写它。我找到了一个解决方案,但对我来说它仅适用于单个错误。这是代码:
$(function () {
var settings = $.data($('form')[0], 'validator').settings;
var oldErrorFunction = settings.errorPlacement;
var oldErrorsFunction = settings.invalidHandler;
var oldSucessFunction = settings.success;
settings.invalidHandler = function (form, validator) {
alert("Form is invalid");
oldErrorsFunction(form, validator);
}
settings.errorPlacement = function (error, inputElement) {
$(".validation-summary-errors").append("single error ");
var errorsNumber = 0;
$(".validation-summary-errors li").each(function () {
errorsNumber++;
});
oldErrorFunction(error, inputElement);
}
settings.success = function (error) {
oldSucessFunction(error);
}
});
errorPlacement(针对每个错误)运行良好,但 invalidHandler(针对所有错误)永远不会触发。
你会如何处理这个问题? 谢谢
最佳答案
我们有这个工作:
form.unbind("invalid-form.validate", form.validate().settings.invalidHandler); // Unbind the existing invalidHandler
form.validate().settings.invalidHandler = $.proxy(customValidationSummary, form); // Replace invalidHandler with a custom one
form.bind("invalid-form.validate", form.validate().settings.invalidHandler); // Rebind the new invalidHandler
关于jquery - ASP.NET MVC 4 中的自定义验证摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18060613/