Jquery.Validate - > TypeError:' undefined'不是一个功能

时间:2015-09-23 17:05:31

标签: 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.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 个答案:

答案 0 :(得分:0)

<强> 1。 onkeyup: true,

As per documentationtrue不是onkeyup选项的有效值。默认情况下,插件的keyup行为已启用,您只能使用false或覆盖功能。将此选项设置为true可能会导致不可预测的结果。如果您不想禁用此行,则需要完全删除此行。

<强> 2。 tooltip_options:

名为.validate()的{​​{1}}方法没有此类选项。最好的情况,这个选项什么都不做。

请参阅the official documentation,了解您tooltip_options内允许使用的唯一选项及其指定设置。