複数の入力があるフォームがあります。そのうちの 2 つは「国」と「郵便番号」です。国が「NL」でない限り、「郵便番号」が必要であり、適切な郵便番号形式である必要があります。この場合、郵便番号は不要で、任意の形式にすることができます。私はこれを試しました。しかし、どういうわけか、国が NL 以外に設定されている場合、入力は不要になりました (ok) が、郵便番号のフォーマットは引き続きチェックされ、エラー メッセージが返されます。 (コードは読みやすくするために短縮されています)
function setupValidator() {
$.validator.addMethod("postcodeFormat",
function (value, element) {
console.log(element, value)
return this.optional(element) || /[1-9][0-9]{3} ?[a-zA-Z]{2}/.test(value);
},
"vul een geldig postcode in"
);
$("#donatieform").validate({
rules :{
postcode :{required:function(){return $("#country").val() === 'NL';}, postcodeFormat:function(element){return $("#country").val() === 'NL';} },
},
focusInvalid :false
});
}
誰かがそれを修正する理由と方法を知っていますか?