0

我试图向 jquery 验证插件添加自定义验证方法。当我尝试将规则附加到元素时,我收到未定义的错误“uniqueTicket”。

这是我的添加方法:

jQuery.validator.addMethod("uniqueTicket", function (value, element, param) {

    var data = {
        ticket: value,
        reservation_id: $("#reservation_id").val()
    };

    if (value.length > 3) {
        $.ajax({
            type: "POST",
            url: '/ticketaudits/validateTicket',
            data: data,
            dataType: "json",
            success: function (msg) {
                //If username exists, set response to true
                response = (msg == 'true') ? true : false;
            }
        });
    } else {
        response = false;
    }
    return response;
},
    "Ticket is invalid or already used");

这是在与验证相同的文档就绪函数中调用的。我的验证是:

$('#myForm').validate({
    debug: false,
    ignoreTitle: true,
    onkeyup: false,
    rules: {
        ticket: uniqueTicket
    }
});

我已经为此做了很多例子,但不明白这个问题。这是否意味着我的 addmethod 有错误?

4

1 回答 1

2

假设您的inputcontains name="ticket"

这个:

rules: {
    ticket: uniqueTicket
}

应该是这样的:

rules: {
    ticket: {
        uniqueTicket: true
    }
}
于 2013-09-27T14:58:01.817 回答