⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 validation.js@t=20080730

📁 网上商店 使用jsp开发网上商店系统 4.1环境准备 为了利用JSP技术,首先需要建立环境。
💻 JS@T=20080730
字号:
TB.form.Validation=new function(){var A=YAHOO;var J=this;var E={useTitle:true,immediate:false,focusOnError:true,passedClass:"tb-fv-passed",failedClass:"tb-fv-failed",onFieldValidate:false,beforeValidate:false,onValidate:false,advice:"default",adviceClass:"tb-fv-advice",adviceContainerClass:null,adviceMsgClass:"tb-fv-advicemsg"};var B=function(L,M,O,N){if(A.lang.isFunction(O)){this._test=O;this._rules=N}else{if(A.lang.isObject(O)){this._rules=O}}this.warnMsg=M||"Validation failed!"};A.lang.augmentObject(B.prototype,{_test:function(){return true},_testRules:function(O,L){var N=[];for(var M in this._rules){if(J.METHODS[M]&&!J.METHODS[M](O,L,this._rules[M])){return false}}return true},test:function(M,L){return this._test(M,L)&&this._testRules(M,L)}});J.ADVISORS={"default":{__advices:{},getAdvice:function(N){var P=$D.generateId(N,"fv:field");var M;if(P in this.__advices){M=this.__advices[P]}else{var O=(N.id||N.name)+"-advice";M=$(O);if(!M){var L=this.adviceContainerClass?$D.getAncestorByClassName(N,this.adviceContainerClass):N.parentNode;M=$D.getElementsByClassName(this.adviceClass,"div",L)[0];if(M&&M.id&&M.id!=O){M=null}if(!M){M=document.createElement("div");$D.addClass(M,this.adviceClass);if(this.adviceContainerClass){L.appendChild(N)}else{switch(N.type.toLowerCase()){case"checkbox":case"radio":N.parentNode.appendChild(M,N);break;default:TB.dom.insertAfter(M,N)}}}M.id=O}this.__advices[P]=M}return M},doFieldAdvice:function(M,O,P){var L=this.getAdvice(O);if(!L){return }if(!M){var N=L;if(this.adviceMsgClass){N=$D.getElementsByClassName(this.adviceMsgClass,"*",L)[0]||L}N.innerHTML=P;$D.setStyle(L,"display","")}else{$D.setStyle(L,"display","none")}},showAdvices:function(L){return },resetAdvices:function(){for(var L in this.__advices){$D.setStyle(this.__advices[L],"display","none")}}},alert:{__msgs:[],doFieldAdvice:function(L,M,N){if(!L){if(this.immediate){alert(N)}else{this.__msgs[this.__msgs.length]=N}}},showAdvices:function(L){if(!L&&!this.immediate){alert(" * "+this.__msgs.join("\n * "))}this.resetAdvices()},resetAdvices:function(){this.__msgs.length=0}}};J.METHODS={isEmpty:function(M,L){return((M==null)||(M.length==0))},notEmpty:function(M,L){return !((M==null)||(M.length==0))},regexp:function(N,M,L){return L.test(N)},minLength:function(N,M,L){return N.length>=L},maxLength:function(N,M,L){return N.length<=L},minValue:function(N,M,L){return N>=parseFloat(L)},maxValue:function(N,M,L){return N<=parseFloat(L)},notOneOf:function(N,M,L){return TB.common.toArray(L).every(function(O){return N!=O})},oneOf:function(N,M,L){return TB.common.toArray(L).some(function(O){return N==O})},equal:function(N,M,L){return N==L},notEqual:function(N,M,L){return N!=L},equalToField:function(N,M,L){return N==$(L).value},notEqualToField:function(N,M,L){return N!=$(L).value}};J.VALIDATORS={};var F=function(L){while(L.tagName!="BODY"){if($D.getStyle(L,"display")=="none"){return false}L=L.parentNode}return true};var D=function(M){var L=["INPUT","SELECT","TEXTAREA"];return $D.getElementsBy(function(N){return $D.hasClass(N,"fv:force")||((L.indexOf(N.tagName)!=-1)&&K(N.className)&&F(N))},"*",M)};var K=function(L){return L.indexOf("fv:")!=-1};var H=function(P,O){var N=D(P);var L=$D.batch(N,I,O).every(function(R){return R});O.showAdvices(L);if(!L&&O.focusOnError){var M=$D.getElementsByClassName(O.failedClass,"*",P)[0];try{M.focus();M.select()}catch(Q){}}if(O.onValidate){O.onValidate(L,P)}return L};var I=function(N,O){var M=N.className.split(/\s+/).filter(K);var L=M.every(function(R){var Q=O.validators[R]||J.VALIDATORS[R];if(!Q){return true}if(N.getAttribute("fv:params")){Q=A.lang.merge(Q,{_rules:N.getAttribute("fv:params").toQueryParams()})}var P=Q.test(N.value,N);var S;if(!P){S=O.useTitle?(N.title||Q.warnMsg):Q.warnMsg;$D.removeClass(N,O.passedClass);$D.addClass(N,O.failedClass)}else{$D.removeClass(N,O.failedClass);$D.addClass(N,O.passedClass)}O.doFieldAdvice(P,N,S);return P},J);if(O.onFieldValidate){O.onFieldValidate(L,N)}return L};var G=function(N,M){var L=D(N);$D.removeClass(L,M.failedClass);$D.removeClass(L,M.passedClass);if(M.resetAdvices){M.resetAdvices()}};J.add=function(L,M,O,N){this.validators[L]=new B(L,M,O,N)};J.addAll=function(L){var M={};L.forEach(function(N){M[N[0]]=new B(N[0],N[1],N[2],(N.length>3?N[3]:{}))});A.lang.augmentObject(J.VALIDATORS,M)};J.attach=function(P,L){P=$(P);var O=A.lang.merge(E,L||{});O.form=P;O.validators={};if(A.lang.isString(O.advice)){var N=(O.advice in J.ADVISORS)?O.advice:"default";A.lang.augmentObject(O,J.ADVISORS[N])}else{A.lang.augmentObject(O,O.advice)}var R=function(S){if(!O.validate()){$E.stopEvent(S)}};var Q=function(S){O.reset()};O.add=function(S,T,V,U){this.validators[S]=new B(S,T,V,U)};O.addAll=function(S){var T={};S.forEach(function(U){T[U[0]]=new B(U[0],U[1],U[2],(U.length>3?U[3]:{}))});A.lang.augmentObject(this.validators,T)};O.reset=function(){G(P,O)};O.validate=function(){if(A.lang.isFunction(O.beforeValidate)&&!O.beforeValidate(P)){return false}else{return H(P,O)}};$E.on(P,"submit",R);$E.on(P,"reset",Q);if(O.immediate){var M=D(P);$E.on(M,"blur",function(){I(this,O)})}return O};var C=J.METHODS.isEmpty;J.addAll([["fv:required","\u8bf7\u8f93\u5165\u5185\u5bb9\uff01",function(L){return !C(L)}],["fv:number","\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u6570\u5b57\uff01",function(L){return C(L)||(!isNaN(L)&&!/^\s+$/.test(L))}],["fv:digits","\u8bf7\u8f93\u5165\u6709\u6548\u7684\u6574\u6570\uff01",function(L){return C(L)||!/[^\d]/.test(L)}],["fv:alpha","\u8bf7\u8f93\u5165\u82f1\u6587\u5b57\u6bcd\uff01",function(L){return C(L)||/^[a-zA-Z]+$/.test(L)}],["fv:alphanum","\u8bf7\u8f93\u5165\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\uff01",function(L){return C(L)||!/\W/.test(L)}],["fv:date","\u8bf7\u8f93\u5165\u6709\u6548\u7684\u65f6\u95f4\uff01",function(L){return C(L)||/^\d{4}-(?:[0]?)\d{1,2}-(?:[0]?)\d{1,2}$/.test(L)}],["fv:mobile","\u8bf7\u8f93\u5165\u6709\u6548\u7684\u624b\u673a\u53f7\u7801\uff01",function(L){return C(L)||/^(86)*0*13\d{9}$/.test(L)}],["fv:postcode","\u8bf7\u8f93\u5165\u6709\u6548\u7684\u90ae\u653f\u7f16\u7801\uff01",function(L){return C(L)||/^[1-9]{1}(\d+){5}$/.test(L)}],["fv:email","\u8bf7\u8f93\u5165\u6709\u6548\u7684Email\u5730\u5740\uff01",function(L){return C(L)||/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(L)}],["fv:url","\u8bf7\u8f93\u5165\u6709\u6548\u7684URL\uff01",function(L){return C(L)||/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(L)}],["fv:selection","\u8bf7\u9009\u62e9\u4e00\u4e2a\u9009\u9879\uff01",function(L,M){return M.options?M.selectedIndex>0:!C(L)}],["fv:oneRequired","\u8bf7\u9009\u62e9\u5176\u4e2d\u4e00\u4e2a\u9009\u9879\uff01",function(L,N){var M=N.name;var O=N.form.elements[M];if(O.length){return TB.common.toArray(O).some(function(P){return P.checked})}else{return O.checked}}]])};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -