自定义easy-ui validatebox 如maxLength()等等校验规则

转自:http://blog.csdn.net/bareheadzzq/article/details/8050003 特此鸣谢!
$(document).ready(
 		function(){
 			
 			$.extend($.fn.validatebox.defaults.rules, {   
 			    minLength: {   
 			        validator: function(value, param){   //value 为需要校验的输入框的值 , param为使用此规则时存入的参数
 			            return value.length >= param[0];   
 			        },   
 			        message: '请输入最小{0}位字符.'  
 			    }   
 			}); 
 			
 			$.extend($.fn.validatebox.defaults.rules, {   
 			    maxLength: {   
 			        validator: function(value, param){   
 			            return param[0] >= value.length;   
 			        },   
 			        message: '请输入最大{0}位字符.'  
 			    }   
 			}); 
 			
 			$.extend($.fn.validatebox.defaults.rules, {   
 			    length: {   
 			        validator: function(value, param){   
 			            return value.length >= param[0] && param[1] >= value.length;   
 			        },   
 			        message: '请输入{0}-{1}位字符.'  
 			    }   
 			}); 

 		// extend the 'equals' rule   
 			$.extend($.fn.validatebox.defaults.rules, {   
 			    equals: {   
 			        validator: function(value,param){   
 			            return value == $(param[0]).val();   
 			        },   
 			        message: '字段不相同.'  
 			    }   
 			});  
 			
 			$.extend($.fn.validatebox.defaults.rules, {   
 				web : {   
 			        validator: function(value){   
 			            return /^(http[s]{0,1}|ftp):\/\//i.test($.trim(value));   
 			        },   
 			        message: '网址格式错误.'  
 			    }   
 			}); 
 			            
           $.extend($.fn.validatebox.defaults.rules, {   
        	   mobile : {   
 			        validator: function(value){   
 			            return /^1[0-9]{10}$/i.test($.trim(value));   
 			        },   
 			        message: '手机号码格式错误.'  
 			    }   
 			});
           
           $.extend($.fn.validatebox.defaults.rules, {   
        	   date : {   
 			        validator: function(value){   
 			            return /^[0-9]{4}[-][0-9]{2}[-][0-9]{2}$/i.test($.trim(value));   
 			        },   
 			        message: '曰期格式错误,如2012-09-11.'  
 			    }   
 			}); 
           
           $.extend($.fn.validatebox.defaults.rules, {   
        	   email : {   
 			        validator: function(value){   
 			            return /^[a-zA-Z0-9_+.-]+\@([a-zA-Z0-9-]+\.)+[a-zA-Z0-9]{2,4}$/i.test($.trim(value));   
 			        },   
 			        message: '电子邮箱格式错误.'  
 			    }   
 			}); 
           
           $.extend($.fn.validatebox.defaults.rules, {   
        	   captcha : {   
 			        validator: function(value){   
 			        	var data0 = false;
	 			        $.ajax({
	 			       		type: "POST",async:false,
	 			       		url:contextPath + "/json/valSimulation.action",
	 			       		dataType:"json",
	 			       		data:{"simulation":value},
	 			       		async:false,
	 			       		success: function(data){
	 			       			data0=data;
	 			       		}
	 			       	});
 			        	
	 			       return data0;
// 			        	return /^[a-zA-Z0-9]{4}$/i.test($.trim(value));
 			        },   
 			        message: '验证码错误.'  
 			    }   
 			}); 
           
           $.extend($.fn.validatebox.defaults.rules, {   
        	   txtName : {   
 			        validator: function(value,param){   
 			        	var data0 = false;
 			        	if(value.length >= param[0] && param[1] >= value.length)
		        		{
 			        		$.ajax({
 			        			type: "POST",async:false,
 			        			url:contextPath + "/json/valName.action",
 			        			dataType:"json",
 			        			data:{"txtName":value},
 			        			async:false,
 			        			success: function(data){
 			        				data0=!data;
 			        			}
 			        		});
		        		}else{
		        			param[2] = "请输入"+param[0]+"-"+param[1]+"位字符.";
		        			return false;
		        		}
 			        	
 			        	param[2] = "用户名称已存在.";
	 			       return data0;
 			        },   
 			        message: "{2}" 
 			    }   
 			}); 
           
 	});  
使用:
<input type="text" class="easyui-validatebox" required=true missingMessage="必须输入" data-options="validType:'maxLength[100]'" invalidMessage="最大长度不能超过100"/>
小细节:Unicode编码的汉字是3个字节 。
Oracle 数据库字段指定为varchar2(). 还可以指定其单位为char 还是byte 
为char :
varchar2(3) 可以存 3*2/3= 2个汉字

为byte:varchar2(3)可以存3*1/3=1个汉字


下面来自 http://www.cnblogs.com/yukaizhao/archive/2012/06/16/jquery-easyui-validation-equalto.html

/**
  * @author yukaizhao
  */
$.extend($.fn.validatebox.defaults.rules, { 
     /*必须和某个字段相等*/
     equalTo: {
         validator: function (value,param){
             return  $(param[0]).val() == value;
         },
         message: '字段不匹配'
     }
           
});

使用示例:

密码: <input id= "password"  name= "password"  validType= "length[4,32]"  class = "easyui-validatebox"  required= "true"  type= "password"  value= "" />
<br/>
确认密码:<input type= "password"  name= "repassword"  id= "repassword"  required= "true"  class = "easyui-validatebox"   validType= "equalTo['#password']"  invalidMessage= "两次输入密码不匹配" />

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值