Files
SIG/Scripts/AjaxControlToolkit/Release/MaskedEditValidator.js
2024-11-05 10:47:20 -07:00

1 line
14 KiB
JavaScript

function MaskedEditSetMessage(e,a,s){e.errormessage=a,""==s?e.text=a:e.text=s,e.innerHTML=e.text}function MaskedEditMessageShow(e,a){if("string"==typeof e.display){if("None"==e.display)return;if("Dynamic"==e.display)return void(e.style.display=a?"none":"inline")}e.style.visibility=a?"hidden":"visible"}function MaskedEditSetCssClass(e,a){var s=$get(e.TargetValidator);Sys.UI.DomElement.removeCssClass(s,e.InvalidValueCssClass),Sys.UI.DomElement.removeCssClass(s,e.CssBlurNegative),Sys.UI.DomElement.removeCssClass(s,e.CssFocus),Sys.UI.DomElement.removeCssClass(s,e.CssFocusNegative),""!=a&&Sys.UI.DomElement.addCssClass(s,a)}function MaskedEditValidatorDateTime(value){if(MaskedEditSetMessage(value,"",""),MaskedEditSetCssClass(value,""),MaskedEditMessageShow(value,!0),"false"==value.IsMaskedEdit)return!0;var target=$get(value.TargetValidator);if("false"==value.ValidEmpty&&Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value()==value.InitialValue)return MaskedEditSetMessage(value,value.EmptyValueMessage,value.EmptyValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass),MaskedEditMessageShow(value,!1),!1;if(""==Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value())return!0;var ret=!0,mask=Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value();if(""!=value.ValidationExpression){var rx=new RegExp(value.ValidationExpression),matches=rx.exec(mask);if(ret=null!=matches&&mask==matches[0],!ret)return MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass),MaskedEditMessageShow(value,!1),!1}var PartDate=target.MaskedEditBehavior.AutoFormatDate(),PartTime=target.MaskedEditBehavior.AutoFormatTime(),MinVlDt="",MinVlTm="";""!=value.MinimumValue&&(MinVlDt=value.MinimumValue.split(" ")[0],MinVlTm=value.MinimumValue.split(" ")[1]);var MaxVlDt="",MaxVlTm="";if(""!=value.MaximumValue&&(MaxVlDt=value.MaximumValue.split(" ")[0],MaxVlTm=value.MaximumValue.split(" ")[1]),ret=MaskedEditValidatorPartDate(value,PartDate,MinVlDt,MaxVlDt),ret&&(ret=MaskedEditValidatorPartTime(value,PartTime,MinVlTm,MaxVlTm)),ret&&""!=value.ClientValidationFunction){var args={Value:mask,IsValid:!0};eval(value.ClientValidationFunction+"(value, args);"),ret=args.IsValid,ret||(MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass))}return ret||MaskedEditMessageShow(value,ret),ret}function MaskedEditValidatorPartTime(e,a,s,t){var l=!0,u=e.TimeSeparator,i=e.AmPmSymbol,d=i.split(";"),r=i.replace(";","|"),n="^(^([0][0-9]|[1][0-2])"+u+"([0-5][0-9])"+u+"([0-5][0-9])\\s("+r+")$)|(^([0][0-9]|[1][0-2])"+u+"([0-5][0-9])\\s("+r+")$)$",v="^(^([0-1][0-9]|[2][0-3])"+u+"([0-5][0-9])"+u+"([0-5][0-9])$)|(^([0-1][0-9]|[2][0-3])"+u+"([0-5][0-9])$)$",M=-1,m=-1,g=-1,V="",p=a.split(u),C=new RegExp(n),E=C.exec(a),x=new RegExp(v),o=x.exec(a);if(E&&E[0]==a?(V=a.substring(a.length-2).substring(0,1),M=parseInt(p[0],10),V.toUpperCase()==d[1].substring(0,1).toUpperCase()&&(M+=12,24==M&&(M=12)),m=parseInt(p[1],10),g=e.length>9?parseInt(p[2].substring(0,2),10):0):o&&o[0]==a&&(M=parseInt(p[0],10),m=parseInt(p[1],10),g=a.length>5?parseInt(p[2],10):0),M!=-1&&m!=-1&&g!=-1||(l=!1),l||(MaskedEditSetMessage(e,e.InvalidValueMessage,e.InvalidValueText),MaskedEditSetCssClass(e,e.InvalidValueCssClass)),l&&(""!=t||""!=s)){var k,I,S,c;""!=s&&(k=-1,I=-1,S=-1,c=s.split(u),E=C.exec(s),o=x.exec(s),E&&E[0]==s?(V=s.substring(s.length-2).substring(0,1),k=parseInt(c[0],10),V.toUpperCase()==d[1].substring(0,1).toUpperCase()&&(k+=12,24==k&&(k=0)),I=parseInt(c[1],10),S=s.length>9?parseInt(c[2].substring(0,2),10):0):o&&o[0]==s&&(k=parseInt(c[0],10),I=parseInt(c[1],10),S=s.length>5?parseInt(c[2],10):0),l=M>k||M==k&&m>I||M==k&&m==I&&g>=S,l||(MaskedEditSetMessage(e,e.MinimumValueMessage,e.MinimumValueText),MaskedEditSetCssClass(e,e.InvalidValueCssClass))),""!=t&&l&&(k=-1,I=-1,S=-1,c=t.split(u),E=C.exec(t),o=x.exec(t),E&&E[0]==t?(V=t.substring(t.length-2).substring(0,1),k=parseInt(c[0],10),V.toUpperCase()==d[1].substring(0,1).toUpperCase()&&(k+=12,24==k&&(k=0)),I=parseInt(c[1],10),S=t.length>9?parseInt(c[2].substring(0,2),10):0):o&&o[0]==t&&(k=parseInt(c[0],10),I=parseInt(c[1],10),S=t.length>5?parseInt(c[2],10):0),l=M<k||M==k&&m<I||M==k&&m==I&&g<=S,l||(MaskedEditSetMessage(e,e.MaximumValueMessage,e.MaximumValueText),MaskedEditSetCssClass(e,e.InvalidValueCssClass)))}return l}function MaskedEditValidatorPartDate(e,a,s,t){var l=!0,u="MDY";switch(e.DateFormat){case"DayMonthYear":case"DMY":u="DMY";break;case"DayYearMonth":case"DYM":u="DYM";break;case"MonthDayYear":case"MDY":u="MDY";break;case"MonthYearDay":case"MYD":u="MYD";break;case"YearDayMonth":case"YDM":u="YDM";break;case"YearMonthDay":case"YMD":u="YMD"}var i=e.DateSeparator,d=a.split(i);3!=parseInt(d.length,10)&&(MaskedEditSetMessage(e,e.InvalidValueMessage,e.InvalidValueText),MaskedEditSetCssClass(e,e.InvalidValueCssClass),l=!1),u.indexOf("D")!=-1&&u.indexOf("M")!=-1&&u.indexOf("Y")!=-1||(MaskedEditSetMessage(e,e.InvalidValueMessage,e.InvalidValueText),MaskedEditSetCssClass(e,e.InvalidValueCssClass),l=!1);var r=-1,n=-1,v=-1;if(l&&(r=parseInt(d[u.indexOf("D")],10),n=parseInt(d[u.indexOf("M")],10),v=parseInt(d[u.indexOf("Y")],10),l=r>0&&n>0&&v>0&&(r<=[,31,28,31,30,31,30,31,31,30,31,30,31][n]||29==r&&2==n&&v%4==0&&(v%100>0||v%400==0))),l||(MaskedEditSetMessage(e,e.InvalidValueMessage,e.InvalidValueText),MaskedEditSetCssClass(e,e.InvalidValueCssClass)),l&&(""!=t||""!=s)){var M,m=-1,g=-1,V=-1;""!=s&&(M=s.split(i),m=parseInt(M[u.indexOf("D")],10),g=parseInt(M[u.indexOf("M")],10),V=parseInt(M[u.indexOf("Y")],10),l=m>0&&g>0&&V>0&&v>V||v==V&&n>g||v==V&&n==g&&r>=m,l||(MaskedEditSetMessage(e,e.MinimumValueMessage,e.MinimumValueText),MaskedEditSetCssClass(e,e.InvalidValueCssClass))),l&&""!=t&&(M=t.split(i),m=parseInt(M[u.indexOf("D")],10),g=parseInt(M[u.indexOf("M")],10),V=parseInt(M[u.indexOf("Y")],10),l=m>0&&g>0&&V>0&&v<V||v==V&&n<g||v==V&&n==g&&r<=m,l||(MaskedEditSetMessage(e,e.MaximumValueMessage,e.MaximumValueText),MaskedEditSetCssClass(e,e.InvalidValueCssClass)))}return l}function MaskedEditValidatorDate(value){if(MaskedEditSetMessage(value,"",""),MaskedEditSetCssClass(value,""),MaskedEditMessageShow(value,!0),"false"==value.IsMaskedEdit)return!0;var target=$get(value.TargetValidator);if("false"==value.ValidEmpty&&Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value()==value.InitialValue)return MaskedEditSetMessage(value,value.EmptyValueMessage,value.EmptyValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass),MaskedEditMessageShow(value,!1),!1;if(""==Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value())return!0;var ret=!0,mask=Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value();if(""!=value.ValidationExpression){var rx=new RegExp(value.ValidationExpression),matches=rx.exec(mask);if(ret=null!=matches&&mask==matches[0],!ret)return MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass),MaskedEditMessageShow(value,!1),!1}if(ret=MaskedEditValidatorPartDate(value,mask,value.MinimumValue,value.MaximumValue),ret&&""!=value.ClientValidationFunction){var args={Value:mask,IsValid:!0};eval(value.ClientValidationFunction+"(value, args);"),ret=args.IsValid,ret||(MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass))}return ret||MaskedEditMessageShow(value,ret),ret}function MaskedEditValidatorTime(value){if(MaskedEditSetMessage(value,"",""),MaskedEditSetCssClass(value,""),MaskedEditMessageShow(value,!0),"false"==value.IsMaskedEdit)return!0;var target=$get(value.TargetValidator);if("false"==value.ValidEmpty&&Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value()==value.InitialValue)return MaskedEditSetMessage(value,value.EmptyValueMessage,value.EmptyValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass),MaskedEditMessageShow(value,!1),!1;if(""==Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value())return!0;var ret=!0,mask=Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value();if(""!=value.ValidationExpression){var rx=new RegExp(value.ValidationExpression),matches=rx.exec(mask);if(ret=null!=matches&&mask==matches[0],!ret)return MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass),MaskedEditMessageShow(value,!1),!1}if(ret=MaskedEditValidatorPartTime(value,mask,value.MinimumValue,value.MaximumValue),ret&&""!=value.ClientValidationFunction){var args={Value:mask,IsValid:!0};eval(value.ClientValidationFunction+"(value, args);"),ret=args.IsValid,ret||(MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass))}return ret||MaskedEditMessageShow(value,ret),ret}function MaskedEditValidatorNumber(value){if(MaskedEditSetMessage(value,"",""),MaskedEditSetCssClass(value,""),MaskedEditMessageShow(value,!0),"false"==value.IsMaskedEdit)return!0;var target=$get(value.TargetValidator),numVal=Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value().replace(new RegExp("([w_.,s$ ])","g"),"");if("false"==value.ValidEmpty&&numVal==value.InitialValue)return MaskedEditSetMessage(value,value.EmptyValueMessage,value.EmptyValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass),MaskedEditMessageShow(value,!1),!1;if(""==numVal)return!0;var ret=!0,AttibThSep=value.Thousands,AttibDcSep=value.Decimal,AttibCuSyb=value.Money,AttibLastPos=value.LastMaskPosition+AttibCuSyb.length+1,mask=Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value();if(""!=value.ValidationExpression){var rx=new RegExp(value.ValidationExpression),matches=rx.exec(mask);if(ret=null!=matches&&mask==matches[0],!ret)return MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass),MaskedEditMessageShow(value,!1),!1}ret=!1;var cleanInput=null,exp=null,m=null,num=null,Compnum=null;if(mask=mask.replace(new RegExp("(\\"+AttibThSep+")","g"),""),mask=mask.replace(new RegExp("(\\"+AttibCuSyb+")","g"),""),m=mask.match(/^\s*(\S+(\s+\S+)*)\s*$/),null!=m&&(mask=m[1]),exp=/^\s*[-\+]?\d+\s*$/,null!=mask.match(exp)&&(num=parseInt(mask,10),ret=!isNaN(num)),ret?(""!=value.MaximumValue&&(Compnum=parseInt(value.MaximumValue,10),isNaN(Compnum)||num>Compnum&&(ret=!1,MaskedEditSetMessage(value,value.MaximumValueMessage,value.MaximumValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass))),ret&&""!=value.MinimumValue&&(Compnum=parseInt(value.MinimumValue,10),isNaN(Compnum)||num<Compnum&&(ret=!1,MaskedEditSetMessage(value,value.MinimumValueMessage,value.MinimumValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass)))):(exp=new RegExp("^\\s*([-\\+])?(\\d+)?(\\"+AttibDcSep+"(\\d+))?\\s*$"),m=mask.match(exp),null!=m&&(cleanInput=null,cleanInput="undefined"!=typeof m[1]?m[1]+(m[2].length>0?m[2]:"0")+"."+m[4]:(m[2].length>0?m[2]:"0")+"."+m[4],num=parseFloat(cleanInput),ret=!isNaN(num)),ret||(MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass)),ret&&(""!=value.MaximumValue&&(Compnum=parseFloat(value.MaximumValue),isNaN(Compnum)||num>Compnum&&(ret=!1,MaskedEditSetMessage(value,value.MaximumValueMessage,value.MaximumValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass))),ret&&""!=value.MinimumValue&&(Compnum=parseFloat(value.MinimumValue),isNaN(Compnum)||num<Compnum&&(ret=!1,MaskedEditSetMessage(value,value.MinimumValueMessage,value.MinimumValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass))))),ret&&""!=value.ClientValidationFunction){var args={Value:mask,IsValid:!0};eval(value.ClientValidationFunction+"(value, args);"),ret=args.IsValid,ret||(MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass))}return ret||MaskedEditMessageShow(value,ret),ret}function MaskedEditValidatorNone(value){if(MaskedEditSetMessage(value,"",""),MaskedEditSetCssClass(value,""),MaskedEditMessageShow(value,!0),"false"==value.IsMaskedEdit)return!0;var target=$get(value.TargetValidator);if("false"==value.ValidEmpty&&Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value()==value.InitialValue)return MaskedEditSetMessage(value,value.EmptyValueMessage,value.EmptyValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass),MaskedEditMessageShow(value,!1),!1;if(""==Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value())return!0;var ret=!0,mask=Sys.Extended.UI.TextBoxWrapper.get_Wrapper(target).get_Value();if(""!=value.ValidationExpression){var rx=new RegExp(value.ValidationExpression),matches=rx.exec(mask);if(ret=null!=matches&&mask==matches[0],!ret)return MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass),MaskedEditMessageShow(value,!1),!1}var exp=/^\d+\s*$/,num=null;if(""!=value.MaximumValue&&null!=value.MaximumValue.match(exp)&&(num=parseInt(value.MaximumValue,10),isNaN(num)||mask.length>num&&(ret=!1,MaskedEditSetMessage(value,value.MaximumValueMessage,value.MaximumValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass))),ret&&""!=value.MinimumValue&&null!=value.MinimumValue.match(exp)&&(num=parseInt(value.MinimumValue,10),isNaN(num)||mask.length<num&&(ret=!1,MaskedEditSetMessage(value,value.MinimumValueMessage,value.MinimumValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass))),ret&&""!=value.ClientValidationFunction){var args={Value:mask,IsValid:!0};eval(value.ClientValidationFunction+"(value, args);"),ret=args.IsValid,ret||(MaskedEditSetMessage(value,value.InvalidValueMessage,value.InvalidValueText),MaskedEditSetCssClass(value,value.InvalidValueCssClass))}return ret||MaskedEditMessageShow(value,ret),ret}