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");}}//将错误信息显示到tooltipfunction 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";}//隐藏tooltipfunction 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>
?