rapid validation 自定义验证

学习了下 rapid-validation,发现这个验证框架是个好东西,也支持tooltip,一些基本的表单验证都有了.

 

 但如果遇到复杂的业务规则就必须自定义验证来解决,rapid-validation有写自定义验证的地方,但自己写的一般性验证效果都是alert()弹出式,不是tooltip那种效果,为了达到统一融合,就实现了所谓的自定义验证。

 

<script>
	var globle_flag=0;//全局变量,用来标记是否已经验证完自定义的。
	new Validation(document.forms[0],{onSubmit:true,onFormValidate : function(result,form) {
		var finalResult = result;
		//在这里添加自定义验证
		if(globle_flag == 1){//如果已经验证完自定义的,且rapid-Validation也已经验证完,就提交。
			return disableSubmit(finalResult,'submitButton');
		}
	}});
	
	//点击“提交”时调用此方法
	function sub(){
		globle_flag=0;
		var elm = $prototype("username");
		var uname=elm.value;
		if(uname != "aaa"){
			showErorMsg("username","名字不是aaa,请重新输入!");
			return false;
		}else{
			globle_flag=1;
			hideErrMsg("username");
		}
		
	}
	//将错误信息显示到tooltip
	function showErorMsg(elm,errorMsg) {
		var elm = $prototype(elm);
		if(typeof Tooltip != 'undefined') {
			if (!elm.tooltip) {
				elm.tooltip = new Tooltip(elm, {backgroundColor:"#FC9", borderColor:"#C96", textColor:"#000", textShadowColor:"#FFF"});
			}
			elm.tooltip.content = errorMsg;
		}
		elm.style.border="3px solid #FF0000";
	}
	//隐藏tooltip	
	function hideErrMsg(elm) {
		var elm = $prototype(elm);
		if(typeof Tooltip != 'undefined') {
			if (elm.tooltip) {
				elm.tooltip.stop();
				elm.tooltip = false;
			}
		}
		elm.style.border="1px solid #00CC00";
		elm.style.color="#000";
	}
	
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值