基本的にカードの種類とクレジットカード番号の有効性をチェックする顧客のjQueryバリデーターメソッドを追加しようとしています。
すなわち。タイプがMasterCardの場合、カード番号が5で始まらない場合は無効です。タイプがVisaの場合、カード番号が4で始まらない場合は無効です。私の会社はMCまたはVisaのみを請求するので、他は必要ありません。
$.validator.addMethod("CCNumber", function(value, element, param) {
if (param == "MasterCard") {
return value.substring(0,1) != 5;
}
else if (param == "Visa") {
return value.substring(0,1) != 4;
}
});
ここでそれを呼び出す:
cardnumber: {
required: true,
creditcard: true,
minlength: 13,
maxlength: 16,
digits: true,
CCNumber: function(){ return $('#cardtype').val(); }
},
そしてメッセージ...
cardnumber: {
required: "Please enter a valid credit card number",
minlength: "Please enter a valid credit card number",
maxlength: "Please enter a valid credit card number",
digits: "Your credit card number cannot contain spaces.",
CCNumber: "WRONG"
},
最後に、HTML:
<select name="cardtype" id="cardtype">
<option value="MasterCard">MasterCard</option>
<option value="Visa">Visa</option>
</select>
これまでjQueryメソッドを作成したことはありませんが、ここでは何も起こりません。他の方法を調べようとしたので、何を間違えたのか完全にはわかりませんが、何も見つかりませんでした。