这是我的 jquery 代码,根据之前的stackoverflow 问题
$('#productId').validate({
rules: {
product: {
required: true,
term: {regex: /^$|\s/}
}
},
messages: {
product: {
required: "A text is much",
term: "Please avoid spaces"
},
},
showErrors: function (errorMap, errorList) {
$.each(this.successList, function (index, value) {
$('#'+value.id+'').popover('destroy');
});
$.each(errorList, function (index, value) {
$('#'+value.element.id+'').attr('data-content',value.message, 'title', 'Oops!').popover({
placement: 'top',
trigger: 'manual',
delay: { show: 500, hide: 5000 }
}).popover('show');
});
}
});
如果输入的术语中有空格,我想做的是显示一个弹出窗口。但每次它给我的错误
Uncaught TypeError: Cannot call method 'call' of undefined
我知道正则表达式部分有问题。因为我用 minLength 尝试了相同的代码并且效果很好。我究竟做错了什么?
PS我正在使用twitter bootstrap进行popover。
更新:有关错误的更多信息
Uncaught TypeError: Cannot call method 'call' of undefined ----------jquery.validate.js:504
$.extend.check ---------- jquery.validate.js:504
$.extend.element ---------- jquery.validate.js:357
$.extend.defaults.onfocusout ---------- jquery.validate.js:231
delegate ---------- jquery.validate.js:317
(anonymous function) ---------- jquery.validate.js:1184
jQuery.event.dispatch ---------- jquery.js:3075
elemData.handle ---------- jquery.js:2751
jQuery.event.trigger ---------- jquery.js:2987
jQuery.event.simulate ---------- jquery.js:3302
handler