Ich gehe davon aus alle Prüfregeln bestanden haben müssen, was bedeutet, dass Ihre minlength
immer fehlschlagen, wenn Sie eine Länge von 4.
Auch haben, sind Sie ein $
vor ("#PostalCode").length
fehlt.
Auch diese Zeile setzt den Wert #Country
.
$("#Country").val("Aus")
Sie wollen den Wert erhalten, und vergleichen es "Aus"
.
$("#Country").val() === "Aus"
Versuchen Sie, minlength
zu entfernen, und ändern Sie Ihre benutzerdefinierte Funktion.
Try this:
EDIT: geändert, so dass Sie 2 Validierer haben.
Man verifiziert, dass der Kreis ist Australien und die Länge des Wertes mindestens 4.
Die andere überprüfen, dass der Kreis nicht Australien ist und die Länge des Wertes mindestens 5 beträgt.
$.validator.addMethod("AusZip", function(value, element) {
var isAus = $("#Country").val() === "Aus";
if (isAus && value.length < 4) {
return false;
} else return true;
}, "Australian Zip Code Must Be at least 4 Digits");
$.validator.addMethod("NonAusZip", function(value, element) {
var isNotAus = $("#Country").val() !== "Aus";
if (isNotAus && value.length < 5) {
return false;
} else return true;
}, "Zip Code Must Be at least 5 Digits");
$('form').validate({
rules: {
PostalCode: {
required: true,
AusZip: true,
NonAusZip: true
}
}
});
Oder wenn Sie auf dem Land, keine benutzerdefinierte Validierungsnachricht benötigen, können Sie dies tun könnte:
$.validator.addMethod("GlobalZip", function(value, element) {
var isAus = $("#Country").val() === "Aus";
if ((isAus && value.length < 4) || value.length < 5) {
return false;
} else return true;
}, "Zip Code is not long enough");
$('form').validate({
rules: {
PostalCode: {
required: true,
GlobalZip: true
}
}
});
also, wenn ich "minlength" aus den PostalCode-Regeln entfernen, wird es immer noch eine Mindestlänge von 5 für alle anderen benötigen? –
Dies gibt einen Fehler zurück "errorFirstWord" ist aus irgendeinem Grund in der Konsole nicht definiert. –
Es sollte. Versuche es. Diese Zeile prüft auf * Ist Australien und weniger als vier, ODER ist weniger als fünf *. '(isAus && $ pCode.length <4) || $ pCode.length <5' – user113716