jQuery validate

(function($){     
$.fn.extend({     
pluginName:function(opt,callback){     
          // Our plugin implementation code goes here.       
}     
})     
})(jQuery);   

 

       上面定义了一个jQuery函数,形参是$,函数定义完成之后,jQuery这个实参传递进去.立即调用执行。这样的好处是,我们在写jQuery插件时,也可以使用$这个别名,而不会与prototype引起冲突.

这就是一个闭包。

 

jQuery.validator.addMethod("math", function(value, element, params) {
  return this.optional(element) || value == params[0] + params[1];
}, jQuery.validator.format("Please enter the correct value for {0} + {1}"));

jQuery.validator.addMethod("paramTest", function(value, element, params) {
  return this.optional(element) || value == params;
}, jQuery.validator.format("Please enter the correct value for {0}"));
	
	
$.validator.setDefaults({
    submitHandler: function() {
      alert("提交事件!");
    }
});
$().ready(function() {
    $("#commentForm").validate({
	   rules:{		   
	    name1111:{
		paramTest:"abc",
		required:function(){
			return true;//
		},
	    math:[1,2],
	   	rangelength:[1,2]
		}
	  }
    });
});

 

checkbox 的 minlength 表示必须选中的最小个数,maxlength 表示最大的选中个数,rangelength:[2,3] 表示选中个数区间。

 

select 的 minlength 表示选中的最小个数(可多选的 select),maxlength 表示最大的选中个数,rangelength:[2,3] 表示选中个数区间。

 

属性方式:

rangelength=3,5

 

 

addMethod: function( name, method, message ) {
		$.validator.methods[name] = method;
		$.validator.messages[name] = message !== undefined ? message : $.validator.messages[name];
		if ( method.length < 3 ) {
			$.validator.addClassRules(name, $.validator.normalizeRule(name));
		}
	},

 

 

 

 

<select id="fruit" name="fruit" title="Please select at least two fruits" class="{required:true, minlength:2}" multiple="multiple">
    <option value="b">Banana</option>
    <option value="a">Apple</option>
    <option value="p">Peach</option>
    <option value="t">Turtle</option>
</select>

 

 

 

meta String 方式,解析class="{validate:{ required:true,email:true }}"

$("#myform").validate({

   meta:"validate",

   submitHandler:function(){ 
alert("Submitted!")}})

 

<scripttype="text/javascript"src="js/jquery.metadata.js"></script><scripttype="text/javascript"src="js/jquery.validate.js"></script><formid="myform"><inputtype="text"name="email"class="{validate:{ required:true,email:true }}"/><inputtype="submit"value="Submit"/></form>

猜你喜欢

转载自windtime.iteye.com/blog/2415021