Der Versuch, eine Kunden-jQuery-Validierungsmethode hinzuzufügen, die grundsätzlich den Kartentyp und die Kreditkartennummer auf Gültigkeit prüft.jQuery Validator Kreditkartennummer + Typ Übereinstimmung
dh. Wenn der Typ MasterCard ist, wenn die Kartennummer nicht mit 5 beginnt, ist sie ungültig oder wenn der Typ Visa ist, wenn die Kartennummer nicht mit 4 beginnt, ist sie ungültig. Meine Firma berechnet nur MC oder Visa, also werden keine anderen benötigt.
$.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;
}
});
es hier aufrufen:
cardnumber: {
required: true,
creditcard: true,
minlength: 13,
maxlength: 16,
digits: true,
CCNumber: function(){ return $('#cardtype').val(); }
},
Und die Nachricht ...
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"
},
schließlich die HTML:
<select name="cardtype" id="cardtype">
<option value="MasterCard">MasterCard</option>
<option value="Visa">Visa</option>
</select>
ich nie ein jQuery geschrieben habe Methode vorher, aber hier passiert nichts. Ich bin mir nicht ganz sicher, was ich falsch gemacht habe, da ich versucht habe, andere Methoden zu betrachten, aber nichts finden konnte.
Warum fragen Sie nach dem Typ überhaupt? – SLaks
@FergusMorrow: Ja. Das OP sollte es einfach loswerden. – SLaks
Was soll "sub" tun? Meintest du "substring"? –