`
xmdxzyf
  • 浏览: 24341 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

easyui validatebox 扩展插件

阅读更多
/**
 	File Name:validateExtend.js
	Author:zheng.yongfeng
	create Version:01.00.000
	Create Date:2012-08-13
	modify Version:
	modify Date:
 */
$.extend( $.fn.validatebox.defaults.rules,{
			//扩展远程调用,为验证过程添加其他参数,默认空值为"-1"
			//事例:
			//remoteExtend['taskCfgCtrl.action?cmd=checkNameIsExist','name','taskId']
			//<input type="hidden" id="taskId" name="taskId"  disabled="disabled" value="-1"></input>,必须设置为disabled,防止提交到后台
			remoteExtend : {
				validator : function(value, param) {
					var data = {};
					data[param[1]] = value;		//当前value所对应的name
					
					var paramName = null;
					var paramValue = null;
					for(var i = 2; i < param.length; i ++){
						paramName = $("#" + param[i]).attr("name");
						paramValue = $("#" + param[i]).attr("value");
						if(paramValue == ""){			//默认空值为"-1",防止参数传递转换成Numbe可能出现的异常
							paramValue = "-1";
						}
						
						data[paramName] = paramValue;
					}
					
					var isValidate = $.ajax({
								url : param[0],	//url
								dataType : "json",
								data : data,
								async : false,
								cache : false,
								type : "post"
							}).responseText;
					
					return isValidate == "true";
				},
				message : ""
			},
			
			//ip地址验证
			ipValid : {
				validator : function(value, param) {
					var result = false;
					var dataArray = value.split(".");
					if(dataArray.length == 4){
						var num = 0;
						var index = 0;
						for(var i = 0; i < 4; i ++){
							if(dataArray[i] != ""){
								num = Number(dataArray[i]);
								if(num <= 255 && num >= 0){
									index ++;
								}
							}
						}
						
						if(index == 4){
							result = true;
						}
					}
					
					return result;
				},
				message : "格式错误"
			},
			
			//正则表达式验证
			custRegExp : {
				validator : function(value, param) {
					var regExp = new RegExp(eval(param[0]));
					
					return regExp.test(value);
				},
				message : ""
			},
			
			//空值验证
			emptyValid:{
				validator : function(value, param) {
					return ($.trim(value).length ==0) ? false : true;
				},
				message : "不能为空"
			},
			
			//整数判断
			//事例:
			//intValid[9],intValid[,9]  表示最小值为9
			//intValid[0,9] 表示取值范围为0-9
			//intValid[,9] 表示最大值为9
			intValid:{
				validator : function(value, param) {
					//先验证是否为整数
					var regExp = new RegExp(/^-?\d+$/);
					if(!regExp.test(value)){
						$.fn.validatebox.defaults.rules.intValid.message = "只能输入整数";
						return false;
					}
					
					var isValueCorrect = true;	//判断指定值是否在某一范围内
					if(param != null){
						switch(param.length){
							case 1:		//intValid[9] 表示最小值为9
								isValueCorrect = (value >= param[0]);
								$.fn.validatebox.defaults.rules.intValid.message = "最小值为{0}";
								break;
								
							case 2:		
								if(typeof(param[0]) == "undefined"){	//intValid[,9] 表示最大值为9
									isValueCorrect = (value <= param[1]);
									$.fn.validatebox.defaults.rules.intValid.message = "最大值为{1}";
								}
								else if(typeof(param[1]) == "undefined"){	//intValid[9,] 表示最小值为9
									isValueCorrect = (value >= param[0]);
									$.fn.validatebox.defaults.rules.intValid.message = "最小值为{0}";
								}
								else{		//intValid[0,9] 表示取值范围为0-9
									isValueCorrect =((value >= param[0]) && (value <= param[1]));
									$.fn.validatebox.defaults.rules.intValid.message = "范围为{0}到{1}";
								}
								break;
								
							defalut:
								isValueCorrect = true;
						}
					}
					
					return isValueCorrect;
				},
				message : ""
			}
});

 

 

1
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics