实例介绍
【实例简介】jQuery表单验证常用方法
【实例截图】
【核心代码】
//各种校验方式支持的控件类型
sustainType : function(elem,validateType)
{
var srcTag = elem.tagName;
var stype = elem.type;
switch(validateType)
{
case "formValidator":
return true;
case "inputValidator":
return (srcTag == "INPUT" || srcTag == "TEXTAREA" || srcTag == "SELECT");
case "compareValidator":
return ((srcTag == "INPUT" || srcTag == "TEXTAREA") ? (stype != "checkbox" && stype != "radio") : false);
case "ajaxValidator":
return (stype == "text" || stype == "textarea" || stype == "file" || stype == "password" || stype == "select-one");
case "regexValidator":
return ((srcTag == "INPUT" || srcTag == "TEXTAREA") ? (stype != "checkbox" && stype != "radio") : false);
case "functionValidator":
return true;
case "passwordValidator":
return stype == "password";
}
},
//如果validator对象对应的element对象的validator属性追加要进行的校验。
appendValid : function(id, setting )
{
//如果是各种校验不支持的类型,就不追加到。返回-1表示没有追加成功
var elem = $("#" id).get(0);
var validateType = setting.validateType;
if(!$.formValidator.sustainType(elem,validateType)){return -1}
//重新初始化
if (validateType=="formValidator" || elem.settings == undefined ){elem.settings = new Array()}
//如果第一个不是formValidator就默认初始化一次。
if(elem.settings.length==0 && validateType!="formValidator"){$(elem).formValidator()};
var len = elem.settings.push( setting );
elem.settings[len - 1].index = len - 1;
return len - 1;
},
//设置显示信息
setTipState : function(elem,showclass,showmsg)
{
var initConfig = $("body").data(elem.validatorGroup);
if(initConfig.mode == "SingleTip")
{
//显示和保存提示信息
$("#fv_content").html(showmsg);
elem.Tooltip = showmsg;
if(showclass!="onError"){tip.hide()}
}
else
{
var tip = $("#" elem.settings[0].tipID);
var html = showclass == "onShow" ? onShowHtml : (showclass == "onFocus" ? onFocusHtml : (showclass == "onCorrect" ? onCorrectHtml : onErrorHtml));
if(html.length = 0)
{
tip.hide()
}
else
{
if(elem.validatorPasswordIndex > 0 && showclass =="onCorrect"){
var setting = elem.settings[elem.validatorPasswordIndex];
var level = $.formValidator.passwordValid(elem);
showmsg = "";
if(level==-1 && setting.onErrorContinueChar!=""){
showmsg=setting.onErrorContinueChar
}else if(level==-2 && setting.onErrorSameChar!=""){
showmsg=setting.onErrorSameChar
}else if(level==-3 && setting.onErrorCompareSame!=""){
showmsg=setting.onErrorCompareSame
}
if(showmsg!="")
{
$.formValidator.setTipState(elem,'onError',showmsg);
return
}
showmsg = passwordStrengthText[level<=0?0:level - 1];
}
html = html.replace(/\$class\$/g, showclass).replace(/\$data\$/g, showmsg);
if(showclass!=""){
tip.html(html).removeClass().addClass(showclass).show();
}else{
tip.html(html).show();
}
}
var stype = elem.type;
if(stype == "password" || stype == "text" || stype == "file")
{
jqobj = $(elem);
if(onShowClass!="" && showclass == "onShow"){jqobj.removeClass().addClass(onShowClass)};
if(onFocusClass!="" && showclass == "onFocus"){jqobj.removeClass().addClass(onFocusClass)};
if(onCorrectClass!="" && showclass == "onCorrect"){jqobj.removeClass().addClass(onCorrectClass)};
if(onErrorClass!="" && showclass == "onError"){jqobj.removeClass().addClass(onErrorClass)};
}
}
},
//把提示层重置成原始提示(如果有defaultPassed,应该设置为onCorrect)
resetTipState : function(validatorGroup)
{
if(validatorGroup == undefined){validatorGroup = "1"};
var initConfig = $("body").data(validatorGroup);
$.each(initConfig.validObjects,function(){
var setting = this.settings[0];
if(!setting.bind){return}
var passed = setting.defaultPassed;
$.formValidator.setTipState(this, passed ? "onCorrect" : "onShow", passed ? $.formValidator.getStatusText(this,setting.onCorrect) : setting.onShow );
});
},
好例子网口号:伸出你的我的手 — 分享!
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论