How to add a custom validation method for jQuery validate plugin

例子
验证PostCode
期望格式1234AA或1234 AA
对应正则[0-9]{4}(\s)?[a-zA-Z]{2}

( function ($) {
    $.validator.addMethod(
" postCode " function (value, element) {
        
return   this .optional(element)  ||   / ^[0-9]{4}(\s)?[a-zA-Z]{2}$ / .test(value);
    }, 
" Please enter a valid post code. " );
})(jQuery);

格式通常都是以上形式,我们需要改变的地方一般是postCode也就是ruleName, defaultErrorMessage正则部分。
其中this.optional(element)主要是用来验空的,如果是空的,也就没有必要继续后面的正则验证了。

附带提一下:
$.validator.addMethod("rule1", function(value, element) { 

}, "rule1");

$.validator.addMethod("rule2", function(value, element) {
  $.validator.methods.rule1.call(this, value, element); // rule2中先调用rule1进行验证然后再进行一些自已的验证

}, "rule2");

$.validator.addMethod("rule3", function(value, element) {

  $.validator.methods.rule2.call(this, value, element); // rule3中先调用rule2进行验证然后再进行一些自己的验证
}, "rule3");

然后我们在前台直接使用rule3 <input id="test" class="rule3" /> // 这样只会出现rule3的错误信息,而不会出现rule1, rule2的错误信息。
如果当需要显示rule1, rule2的错误信息时,则需要把这三个rule独立开,或者直接使用<input id="test" class="rule1 rule2 rule3" />

你可能感兴趣的:(jQuery Validate)