我有一个有多个输入的表单。其中两个是“国家”和“邮政编码”。现在我希望“邮政编码”是必需的并且采用正确的邮政编码格式,除非国家不是“NL”。然后邮政编码不是必需的,可以有任何格式。我试过这个。但不知何故,当国家/地区设置为其他国家/地区时,不再需要输入(好的),但仍检查邮政编码的格式并返回错误消息。 (代码被缩短以便更好地阅读)
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
});
}
有谁知道为什么以及如何解决它?