Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery.Validate->;类型错误:';未定义';这不是一个函数_Jquery_Jquery Validate - Fatal编程技术网

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演示一下吗?谢谢我现在的工作压力有点大,但如果可以的话,我会在周末举个例子?