0

私は正常に動作するこのカードバリデータースクリプトを使用しています:

$('#card-number').validateCreditCard(function (result) {
    if(!(result.card_type != null)) {
        $('.card-issuer li').removeClass('selected');
        $('#card-number').removeClass('valid invalid');
        return;
    }
    $('.card-issuer li').removeClass('selected');
    $('.card-issuer li.' + result.card_type.name).addClass('selected');

    //----------- Field to identify Card Type ------------//
    $("#hdnCardType").val(result.card_type.name);

    if(result.length_valid && result.luhn_valid) {
        return $('.card-number').removeClass('invalid').addClass('valid');
    } else {
        $('.card-issuer li').removeClass('selected');
        return $('.card-number').removeClass('valid').addClass('invalid');
    }
});

..しかし、ユーザーが16桁を入力する前でも無効なクラスが追加されますが、ユーザーが少なくとも14桁を入力するまで待機させることはできますか?

4

1 に答える 1

0

ユーザーが新しい文字を入力するたびにvalidateCreditCard関数を呼び出していると仮定しますか?その場合は、14文字以上になるまでチェックしないでください。

} else {
       if (document.getElementsByClassName('.card-number')[0].value.length >= 14) {
            $('.card-issuer li').removeClass('selected');
            return $('.card-number').removeClass('valid').addClass('invalid');
       }
}
于 2013-03-03T20:55:13.910 に答える