gpt4 book ai didi

jquery - invalidHandler setDefault 在 $.validator 调用 -jquery 验证插件中被忽略

转载 作者:行者123 更新时间:2023-12-01 03:47:47 25 4
gpt4 key购买 nike

当我通过调用 $.validator setDefaults 方法为 jQuery 验证插件设置一些默认值时, errorPlacement 方法运行良好,尽管 invalidHandler 函数被完全忽略?为什么?

请注意,我在本例中使用 jQuery UI 选项卡,并通过 .valid() 调用(而不是完整的表单 .validate() 调用)验证选项卡的各个字段(在表单中)。

非常感谢任何见解。

下面的简化代码:

(function( $ ) {
//det up some site wide validator defaults
$.validator.setDefaults({
invalidHandler: function(error, validator) {
console.log("InvalidHandler Test");
},
errorPlacement: function(error, element) {
error.appendTo("#error_validation span#errorSummary");
$("#error_validation").show();
}
});
//small jQuery plugin for error handling in a jQuery UI tab
//by http://bit.ly/bhH1n1
$.fn.validateTab = function () {
var isValid = true;
$(this).find("input, select").each(function () {
if (isValid) {
isValid = $(this).valid();
} else {
$(this).valid();
}
});
return false;
};


$('#tabs').tabs();

$('#addUserBtn').click(function (e) {
e.preventDefault();
$("#addUser").validateTab();
});

});

最佳答案

我不太确定为什么它不起作用,但我需要它,所以我自己修复了它,如果你想将插件中的 setDefaults 替换为此

setDefaults: function (settings) {
var validator = $.data($("form")[0], "validator");
var originalSettings = jQuery.validator.getDefaults();
for (var key in settings) {
if (settings[key]) {
originalSettings[key] = settings[key];
}
}
validator.settings = $.extend(true, {}, $.validator.defaults, originalSettings);
},
getDefaults: function () {
var validator = $.data($("form")[0], "validator");
return validator.settings;
},

关于jquery - invalidHandler setDefault 在 $.validator 调用 -jquery 验证插件中被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11612939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com