jquery中的条件验证

时间:2011-05-07 07:14:54

标签: jquery validation jquery-validate

我有两种验证邮政编码的方法。

我有国家列表框,如果我选择美国,我需要使用 usazipRegex 方法进行验证,或者如果我选择加拿大,我需要使用 canadazipRegex 进行验证。假设我选择了任何其他国家,只需要必需

//USA zipcode validation methode 
jQuery.validator.addMethod("usazipRegex", function(value, element) {
        return this.optional(element) || /^[0-9]{5}(?:-[0-9]{4})?$/i.test(value);
    }, "You must enter your postal code in this format: #####-####");


//Canada zipcode validation methode 
jQuery.validator.addMethod("canadazipRegex", function(value, element) {
        return this.optional(element) || /^[ABCEGHJ-NPRSTVXY]{1}[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[ ]?[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[0-9]{1}$/i.test(value);
    }, "You must enter your postal code in this format: A#A  #A#");

验证插件 http://bassistance.de/

我怎么能这样做。建议我!

1 个答案:

答案 0 :(得分:1)

您可以在更改国家/地区时在输入上切换CSS class,然后使用addClassRules( name, rules ),如下所示:

jQuery.validator.addClassRules("usa", {
  required: true,
  minlength: 10,
  usazipRegex: true
});

jQuery.validator.addClassRules("canada", {
  required: true,
  minlength: 8,
  canadaPostalCodeRegex: true
});

jQuery.validator.addMethod合并,添加自定义验证器usazipRegexcanadaPostalCodeRegex