Jquery.Validate->;类型错误:';未定义';这不是一个函数
我以为我只是犯了一个错误,但这个错误让我困惑Jquery.Validate->;类型错误:';未定义';这不是一个函数,jquery,jquery-validate,Jquery,Jquery Validate,我以为我只是犯了一个错误,但这个错误让我困惑 TypeError: 'undefined' is not a function (evaluating 'validator.settings["on"+event.type].call(validator,this[0])') 我在下面首先编写了一个单独的自定义规则,它使用jquery.payment库来验证CC号。但抛出错误的似乎是jquery.validate.min!有人知道吗 以下是我的规则: jQuery.validator.add
TypeError: 'undefined' is not a function (evaluating 'validator.settings["on"+event.type].call(validator,this[0])')
我在下面首先编写了一个单独的自定义规则,它使用jquery.payment库来验证CC号。但抛出错误的似乎是jquery.validate.min!有人知道吗
以下是我的规则:
jQuery.validator.addMethod("jqPaymentCreditCard",
function(value, element) {
return this.optional(element) ||
$.payment.validateCardNumber(value);
},
" Invalid credit card number.");
$("#SSLForm").validate(
{
onkeyup: true,
errorClass: "is-invalid",
errorPlacement: function(error, element) {
if (element.attr("name") == "KKMonth" ) {
error.insertAfter("#KKYear");
} else {
error.insertAfter(element);
}
},
rules: {
CreditCardHolder: { required: true },
KKnr: { required: true , jqPaymentCreditCard: true},
KKMonth: { required: true },
KKYear: { required: true },
CCCVC: { required: true, digits: true, minlength: 3, maxlength: 4 }
},
messages: {
CreditCardHolder: { required: $("#CreditCardHolderRequiredHdn").val() },
KKnr: { required: $("#KKnrRequiredHdn").val(), jqPaymentCreditCard: $("#KKnrRequiredHdn").val() },
KKMonth: { required: $("#KKMonthRequiredHdn").val() },
KKYear: { required: $("#KKYearRequiredHdn").val() },
CCCVC: { required: $("#CCCVCRequiredHdn").val(), digits: $("#CCCVCDigitsHdn").val(), minlength: $("#CCCVCDigitsHdn").val(), maxlength: $("#CCCVCDigitsHdn").val() }
},
tooltip_options: {
CreditCardHolder: {placement: 'right' },
KKnr: { placement: 'right' },
KKMonth: { placement: 'right' },
KKYear: { placement: 'right' },
CCCVC: { placement: 'right' }
}
});
1
onkeyup:true,
,true
不是onkeyup
选项的有效值。默认情况下,插件的keyup
行为处于启用状态,您只能使用false
或Overriding功能。将此选项设置为true
可能会导致不可预测的结果。如果不想禁用该行,则需要完全删除该行
2<代码>工具提示\u选项:
对于名为tooltip\u options
的.validate()
方法,没有这样的选项。最好的情况是,这个选项什么都不做
有关
.validate()
中允许使用的唯一选项及其指定设置,请参阅。谢谢Sparky!!我认为第一件事就是我现在要尝试的原因。第二个是一个单独的jquery.validate.bootstrap.tooltip插件,用于将工具提示显示为错误消息,因此我认为这不会导致任何问题,因为这些工具提示正在工作。@user1957687,如果工具提示正在工作,这绝对不是因为您将tooltip\u选项
放在.validate()
的内部。该参数在此上下文中完全没有意义。@user1957687,不客气。从.validate()
中删除工具提示\u选项
,向自己证明它没有做任何事情。@user1957687,如果是这样,我很想看看它。你能用jsFiddle演示一下吗?谢谢我现在的工作压力有点大,但如果可以的话,我会在周末举个例子?