1Type.registerNamespace("Telerik.Sitefinity.Web.UI.Validation"); 2Telerik.Sitefinity.Web.UI.Validation.Validator=function(validatorDefinition){this._expectedFormat=null; 3this._maxLength=null; 4this._minLength=null; 5this._maxValue=null; 6this._minValue=null; 7this._regularExpression=null; 8this._required=null; 9this._alphaNumericViolationMessage=null; 10this._currencyViolationMessage=null; 11this._emailAddressViolationMessage=null; 12this._integerViolationMessage=null; 13this._internetUrlViolationMessage=null; 14this._maxLengthViolationMessage=null; 15this._maxValueViolationMessage=null; 16this._messageCssClass=null; 17this._messageTagName=null; 18this._minLengthViolationMessage=null; 19this._minValueViolationMessage=null; 20this._nonAlphaNumericViolationMessage=null; 21this._numericViolationMessage=null; 22this._percentageViolationMessage=null; 23this._regularExpressionViolationMessage=null; 24this._requiredViolationMessage=null; 25this._uSocialSecurityNumberViolationMessage=null; 26this._uSZipCodeViolationMessage=null; 27this._validateIfInvisible=null; 28this._comparingValidatorDefinitions=null; 29this._regularExpressionSeparator=null; 30this._violationMessages=[]; 31this._violationMessageElement=null; 32this._validatorDefinition=validatorDefinition; 33this.alphaNumericRegexPattern=/[-_a-zA-Z0-9]+$/; 34this.currencyRegexPattern=/[+-]?[0-9]{1,3}(?:[0-9]*(?:[.,][0-9]{2})?|(?:,[0-9]{3})*(?:\.[0-9]{2})?|(?:\.[0-9]{3})*(?:,[0-9]{2})?)/; 35this.emailAddressRegexPattern=/^[a-zA-Z0-9._%+'-]+@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,63}$/i; 36this.integerRegexPattern=/^[-+]?\d+$/; 37this.internetUrlRegexPattern=/(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)[-A-Za-z0-9+&@#\/%=~_|$?!:,.]*[A-Za-z0-9+&@#\/%=~_|$]/; 38this.nonAlphaNumericRegexPattern=/[^-_a-zA-Z0-9]+/; 39this.numericRegexPattern=/^[-+]?[0-9]+((,|\.)[0-9]+)?/; 40this.percentRegexPattern=/100$|^\s*(\d{0,2})((\.|\,)(\d*))?\s*\%?\s*/; 41this.uSSocialSecurityRegexPattern=/(?!000)(?!666)(?:[0-6]\d{2}|7(?:[0-356]\d|7[012]))[- ](?!00)\d{2}[- ](?!0000)\d{4}/; 42this.uSZipCodeRegexPattern=/[0-9]{5}(?:-[0-9]{4})?/; 43this._violationMessageElementWasCreated=false; 44Telerik.Sitefinity.Web.UI.Validation.Validator.initializeBase(this); 45this.initialize(); 46}; 47Telerik.Sitefinity.Web.UI.Validation.Validator.prototype={initialize:function(){this.configure(this._validatorDefinition); 48delete this._validatorDefinition; 49Telerik.Sitefinity.Web.UI.Validation.Validator.callBaseMethod(this,"initialize"); 50},dispose:function(){Telerik.Sitefinity.Web.UI.Validation.Validator.callBaseMethod(this,"dispose"); 51},validate:function(value){var isValid=true; 52this.set_violationMessages([]); 53var validatingArgs=this._onValidatingHandler(value); 54isValid=validatingArgs.get_isValid(); 55if(!validatingArgs.get_cancel()){isValid=this._evaluateIsValid(value); 56}this._onValidatedHandler(isValid,value); 57return isValid; 58},configure:function(definition){for(var validatorDefPropertyName in definition){this._setPropertyIfChanged(validatorDefPropertyName,definition[validatorDefPropertyName]); 59}},add_onValidating:function(delegate){this.get_events().addHandler("onValidating",delegate); 60},remove_onValidating:function(delegate){this.get_events().removeHandler("onValidating",delegate); 61},add_onValidated:function(delegate){this.get_events().addHandler("onValidated",delegate); 62},remove_onValidated:function(delegate){this.get_events().removeHandler("onValidated",delegate); 63},_onValidatingHandler:function(value){var eventArgs=new Telerik.Sitefinity.Web.UI.Validation.ValidatingEventArgs(value); 64var h=this.get_events().getHandler("onValidating"); 65if(h){h(this,eventArgs); 66}return eventArgs; 67},_onValidatedHandler:function(isValid,value){var eventArgs=new Telerik.Sitefinity.Web.UI.Validation.ValidatedEventArgs(isValid,value); 68var h=this.get_events().getHandler("onValidated"); 69if(h){h(this,eventArgs); 70}return eventArgs; 71},_evaluateIsValid:function(value){if(typeof value===typeof""){value=value.trim(); 72}if(this._validateRequired(value)){var isValid=true; 73isValid=this._validateRange(value)&&isValid; 74isValid=this._validateRegex(value)&&isValid; 75isValid=this._validateComparisons(value)&&isValid; 76return isValid; 77}return false; 78}
78,_validateRequired:function(value){if(this.get_required()){if(!value||value===""||value===false||value==="00000000-0000-0000-0000-000000000000"){this.get_violationMessages().push(this.get_requiredViolationMessage()); 79return false; 80}else{if(Array.prototype.isPrototypeOf(value)){if(value.length==0){this.get_violationMessages().push(this.get_requiredViolationMessage()); 81return false; 82}}}}return true; 83},_validateRange:function(value){if(value!==null&&value!==undefined){if(!isNaN(value)&&(this.get_minValue()!=null||this.get_maxValue()!=null)){return this._validateNumericDateRange(value); 84}if(String.isInstanceOfType(value)||(typeof value)===(typeof"")){return this._validateStringRange(value); 85}if(!isNaN(value)&&Array.isInstanceOfType(value)){return this._validateArrayRange(value); 86}}return true; 87},_validateStringRange:function(value){if(this.get_minLength()>0){var isMinLengthValid=value.length>=this.get_minLength(); 88if(!isMinLengthValid){this.get_violationMessages().push(this.get_minLengthViolationMessage()); 89return false; 90}}if(this.get_maxLength()>0){var isMaxLengthValid=value.length<=this.get_maxLength(); 91if(!isMaxLengthValid){this.get_violationMessages().push(this.get_maxLengthViolationMessage()); 92return false; 93}}return true; 94},_validateNumericDateRange:function(value){if(this.get_minValue()!=null){var isMinValueValid=value>=this.get_minValue(); 95if(!isMinValueValid){this.get_violationMessages().push(this.get_minValueViolationMessage()); 96return false; 97}}if(this.get_maxValue()!=null){var isMaxValueValid=value<=this.get_maxValue(); 98if(!isMaxValueValid){this.get_violationMessages().push(this.get_maxValueViolationMessage()); 99return false; 100}}return true; 101},_validateArrayRange:function(value){if(value.length||value.length===0){var isMaxLengthValid=true; 102var isMinLengthValid=true; 103if(this.get_maxLength()>0){isMaxLengthValid=this.get_maxLength()<=value.length; 104}if(this.get_minLength()>0){isMinLengthValid=this.get_minLength()>=value.length; 105}if(isMinLengthValid&&isMaxLengthValid){return true; 106}this.get_violationMessages().push(this.get_maxLengthViolationMessage()); 107return false; 108}return false; 109},_validateRegex:function(value){if(String.isInstanceOfType(value)||(typeof value)===(typeof"")){return this._validateStringRegex(value); 110}return true; 111},_validateStringRegex:function(value){var regex=this.get_regularExpression(); 112if(regex){return this._validateCustomRegex(value,regex); 113}var expectedFormat=this.get_expectedFormat(); 114if(expectedFormat>0){return this._validateExpectedFormat(value,expectedFormat); 115}return true; 116},_validateExpectedFormat:function(value,expectedFormat){var isValid=true; 117switch(expectedFormat){case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.None:return true; 118case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.AlphaNumeric:isValid=this.alphaNumericRegexPattern.test(value); 119if(!isValid){this.get_violationMessages().push(this.get_alphaNumericViolationMessage()); 120}break; 121case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.Currency:isValid=this.currencyRegexPattern.test(value); 122if(!isValid){this.get_violationMessages().push(this.get_currencyViolationMessage()); 123}break; 124case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.EmailAddress:isValid=this.emailAddressRegexPattern.test(value); 125if(!isValid){this.get_violationMessages().push(this.get_emailAddressViolationMessage()); 126}break; 127case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.Integer:isValid=this.integerRegexPattern.test(value); 128if(!isValid){this.get_violationMessages().push(this.get_integerViolationMessage()); 129}break; 130case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.InternetUrl:isValid=this.internetUrlRegexPattern.test(value); 131if(!isValid){this.get_violationMessages().push(this.get_internetUrlViolationMessage()); 132}break; 133case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.NonAlphaNumeric:isValid=this.nonAlphaNumericRegexPattern.test(value); 134if(!isValid){this.get_violationMessages().push(this.get_nonAlphaNumericViolationMessage()); 135}break; 136case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.Numeric:isValid=this.numericRegexPattern.test(value); 137if(!isValid){this.get_violationMessages().push(this.get_numericViolationMessage()); 138}break; 139case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.Percentage:isValid=this.percentRegexPattern.test(value); 140if(!isValid){this.get_violationMessages().push(this.get_percentageViolationMessage()); 141}break; 142case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.USSocialSecurityNumber:isValid=this.uSSocialSecurityRegexPattern.test(value); 143if(!isValid){this.get_violationMessages().push(this.get_uSocialSecurityNumberViolationMessage()); 144}break; 145case Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.USZipCode:isValid=this.uSZipCodeRegexPattern.test(value); 146if(!isValid){this.get_violationMessages().push(this.get_uSZipCodeViolationMessage()); 147}break; 148}return isValid; 149},_validateCustomRegex:function(value,regex){var regexPattern=new XRegExp(regex,"g"); 150var isRegexValid=false; 151if(this.get_regularExpressionSeparator()){isRegexValid=true; 152if(value){regexPattern=new XRegExp(regex); 153var sepRegex=new RegExp(this.get_regularExpressionSeparator()); 154var splitArray=value.split(sepRegex); 155for(var i=0; 156i<splitArray.length; 157i++){var currentPart=splitArray[i]; 158isRegexValid=regexPattern.test(currentPart); 159if(isRegexValid==false){break; 160}}}}else{isRegexValid=regexPattern.test(value); 161}if(!isRegexValid){var msg=this.get_regularExpressionViolationMessage(); 162if(msg==null){msg=this.get_regularExpression(); 163}this.get_violationMessages().push(msg); 164return false;
165}return true; 166},_validateComparisons:function(value){var isValid=true; 167if(value!==null&&value!==undefined&&this.get_comparingValidatorDefinitions()){var comparisonsCount=this.get_comparingValidatorDefinitions().length; 168while(comparisonsCount--){if(this.get_comparingValidatorDefinitions()[comparisonsCount]){isValid=this._validateComparison(this.get_comparingValidatorDefinitions()[comparisonsCount],value)&&isValid; 169}}}return isValid; 170},_validateComparison:function(comparison,value){var validationOperator=comparison.Operator; 171var controlToCompareId=comparison.ControlToCompare; 172var violationMessage=comparison.ValidationViolationMessage; 173var validationDataType=comparison.ValidationDataType; 174value=this._getValueAsType(value,validationDataType); 175var isValid=true; 176if(controlToCompareId&&validationOperator>=0){var valueToCompareTo=this._get_controlValue(controlToCompareId); 177valueToCompareTo=this._getValueAsType(valueToCompareTo,validationDataType); 178isValid=this._compare(value,validationOperator,valueToCompareTo); 179if(!isValid){this.get_violationMessages().push(violationMessage); 180}}return isValid; 181},_getValueAsType:function(value,type){switch(type){case"Number":return Number(value); 182}return value; 183},_get_controlValue:function(controlToCompareId){var clientID=$get_clientId(controlToCompareId); 184if(!clientID){throw new "The client Id could not be resolved."; 185}var componentToCompareTo=$find(clientID); 186if(componentToCompareTo){return this._get_componentValue(componentToCompareTo); 187}else{var controlToCompareTo=$get(clientID); 188if(controlToCompareTo){return this._get_controlValue(controlToCompareTo); 189}}throw new "There is no control with id: "+controlID+" to use for comparison validation."; 190},_get_componentValue:function(componentToCompareTo){if(componentToCompareTo.get_value){return componentToCompareTo.get_value(); 191}if(componentToCompareTo.get_element){return this._get_elementValue(componentToCompareTo.get_element()); 192}throw new "The value of the control could not be resolved."; 193},_get_elementValue:function(controlToCompareTo){if(controlToCompareTo.value){return controlToCompareTo.value; 194}throw new "The value of the control could not be resolved."; 195},_compare:function(firstValue,validationOperator,secondValue){if(typeof firstValue!=typeof secondValue){return false; 196}var validationCompareOperator=Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationCompareOperator; 197switch(validationOperator){case validationCompareOperator.Equal:return firstValue===secondValue; 198case validationCompareOperator.NotEqual:return firstValue!=secondValue; 199case validationCompareOperator.GreaterThan:return firstValue>secondValue; 200case validationCompareOperator.GreaterThanEqual:return firstValue>=secondValue; 201case validationCompareOperator.LessThan:return firstValue<secondValue; 202case validationCompareOperator.LessThanEqual:return firstValue<=secondValue; 203default:throw"This operator is not supported"; 204}},_setPropertyIfChanged:function(){var propertyName=arguments[0]; 205propertyName=propertyName.charAt(0).toLowerCase()+propertyName.slice(1); 206var value=arguments.length==3?arguments[2]:arguments[1]; 207var fieldName=arguments.length==3?arguments[1]:null; 208if(!fieldName){fieldName="_"+propertyName; 209}if(!propertyName||!this.hasOwnProperty(fieldName)){return; 210}var currentValue=this[fieldName]; 211if(currentValue!=value){this[fieldName]=value; 212this.raisePropertyChanged(propertyName); 213}},_createViolationMessageElement:function(){var errorMessageElement=document.createElement(this.get_messageTagName()); 214jQuery(errorMessageElement).addClass(this.get_messageCssClass()); 215return errorMessageElement; 216},get_violationMessageElement:function(){if(!this._violationMessageElement){this._violationMessageElement=this._createViolationMessageElement(); 217}this._violationMessageElement.innerText=""; 218var violationMessagesCount=this.get_violationMessages().length; 219while(violationMessagesCount--){var message=" "+this.get_violationMessages()[violationMessagesCount]; 220this._violationMessageElement.innerText+=message; 221}this._violationMessageElement.innerText=this._violationMessageElement.innerText.trim(); 222return this._violationMessageElement; 223},get_violationMessages:function(){return this._violationMessages; 224},set_violationMessages:function(value){this._violationMessages=value; 225},set_expectedFormat:function(value){this._setPropertyIfChanged("expectedFormat",value); 226},get_expectedFormat:function(){return this._expectedFormat; 227},set_maxLength:function(value){this._setPropertyIfChanged("maxLength",value); 228},get_maxLength:function(){return this._maxLength; 229},set_minLength:function(value){this._setPropertyIfChanged("minLength",value); 230},get_minLength:function(){return this._minLength; 231},set_maxValue:function(value){this._setPropertyIfChanged("maxValue",value); 232},get_maxValue:function(){return this._maxValue; 233},set_minValue:function(value){this._setPropertyIfChanged("minValue",value); 234},get_minValue:function(){return this._minValue; 235},set_regularExpression:function(value){this._setPropertyIfChanged("regularExpression",value); 236},get_regularExpression:function(){return this._regularExpression; 237},set_required:function(value){this._setPropertyIfChanged("required",value); 238},get_required:function(){return this._required; 239},set_alphaNumericViolationMessage:function(value){this._setPropertyIfChanged("alphaNumericViolationMessage",value); 240},get_alphaNumericViolationMessage:function(){return this._alphaNumericViolationMessage; 241},set_currencyViolationMessage:function(value){this._setPropertyIfChanged("currencyViolationMessage",value); 242},get_currencyViolationMessage:function(){return this._currencyViolationMessage; 243},set_emailAddressViolationMessage:function(value){this._setPropertyIfChanged("emailAddressViolationMessage",value); 244},get_emailAddressViolationMessage:function(){return this._emailAddressViolationMessage; 245},set_integerViolationMessage:function(value){this._setPropertyIfChanged("integerViolationMessage",value); 246},get_integerViolationMessage:function(){return this._integerViolationMessage; 247},set_internetUrlViolationMessage:function(value){this._setPropertyIfChanged("internetUrlViolationMessage",value); 248},get_internetUrlViolationMessage:function(){return this._internetUrlViolationMessage; 249},set_maxLengthViolationMessage:function(value){this._setPropertyIfChanged("maxLengthViolationMessage",value); 250},get_maxLengthViolationMessage:function(){return this._maxLengthViolationMessage; 251},set_maxValueViolationMessage:function(value){this._setPropertyIfChanged("maxValueViolationMessage",value); 252},get_maxValueViolationMessage:function(){return this._maxValueViolationMessage; 253},set_messageCssClass:function(value){this._setPropertyIfChanged("messageCssClass",value); 254},get_messageCssClass:function(){return this._messageCssClass; 255},set_messageTagName:function(value){this._setPropertyIfChanged("messageTagName",value); 256},get_messageTagName:function(){return this._messageTagName; 257},set_minLengthViolationMessage:function(value){this._setPropertyIfChanged("minLengthViolationMessage",value); 258},get_minLengthViolationMessage:function(){return this._minLengthViolationMessage; 259},set_minValueViolationMessage:function(value){this._setPropertyIfChanged("minValueViolationMessage",value); 260},get_minValueViolationMessage:function(){return this._minValueViolationMessage; 261},set_nonAlphaNumericViolationMessage:function(value){this._setPropertyIfChanged("nonAlphaNumericViolationMessage",value); 262},get_nonAlphaNumericViolationMessage:function(){return this._nonAlphaNumericViolationMessage; 263},set_numericViolationMessage:function(value){this._setPropertyIfChanged("numericViolationMessage",value); 264},get_numericViolationMessage:function(){return this._numericViolationMessage; 265},set_percentageViolationMessage:function(value){this._setPropertyIfChanged("percentageViolationMessage",value); 266},get_percentageViolationMessage:function(){return this._percentageViolationMessage; 267},set_regularExpressionViolationMessage:function(value){this._setPropertyIfChanged("regularExpressionViolationMessage",value); 268},get_regularExpressionViolationMessage:function(){return this._regularExpressionViolationMessage; 269},set_regularExpressionSeparator:function(value){this._setPropertyIfChanged("regularExpressionSeparator",value); 270},get_regularExpressionSeparator:function(){return this._regularExpressionSeparator; 271},set_requiredViolationMessage:function(value){this._setPropertyIfChanged("requiredViolationMessage",value); 272},get_requiredViolationMessage:function(){return this._requiredViolationMessage; 273},set_uSocialSecurityNumberViolationMessage:function(value){this._setPropertyIfChanged("uSocialSecurityNumberViolationMessage",value); 274},get_uSocialSecurityNumberViolationMessage:function(){return this._uSocialSecurityNumberViolationMessage; 275},set_uSZipCodeViolationMessage:function(value){this._setPropertyIfChanged("uSZipCodeViolationMessage",value); 276},get_uSZipCodeViolationMessage:function(){return this._uSZipCodeViolationMessage; 277},set_validateIfInvisible:function(value){this._setPropertyIfChanged("validateIfInvisible",value); 278}
278,get_validateIfInvisible:function(){return this._validateIfInvisible; 279},set_comparingValidatorDefinitions:function(value){this._setPropertyIfChanged("comparingValidatorDefinitions",value); 280},get_comparingValidatorDefinitions:function(){return this._comparingValidatorDefinitions; 281}}; 282Telerik.Sitefinity.Web.UI.Validation.Validator.registerClass("Telerik.Sitefinity.Web.UI.Validation.Validator",Sys.Component); 283Telerik.Sitefinity.Web.UI.Validation.ValidatingEventArgs=function(value){this._value=value; 284this._isValid=false; 285Telerik.Sitefinity.Web.UI.Validation.ValidatingEventArgs.initializeBase(this); 286}; 287Telerik.Sitefinity.Web.UI.Validation.ValidatingEventArgs.prototype={initialize:function(){Telerik.Sitefinity.Web.UI.Validation.ValidatingEventArgs.callBaseMethod(this,"initialize"); 288},dispose:function(){Telerik.Sitefinity.Web.UI.Validation.ValidatingEventArgs.callBaseMethod(this,"dispose"); 289},get_value:function(){return this._value; 290},get_isValid:function(){return this._isValid; 291},set_isValid:function(value){if(this._isValid!=value){this._isValid=value; 292}}}; 293Telerik.Sitefinity.Web.UI.Validation.ValidatingEventArgs.registerClass("Telerik.Sitefinity.Web.UI.Validation.ValidatingEventArgs",Sys.CancelEventArgs); 294Telerik.Sitefinity.Web.UI.Validation.ValidatedEventArgs=function(isValid,value){this._value=value; 295this._isValid=false; 296Telerik.Sitefinity.Web.UI.Validation.ValidatedEventArgs.initializeBase(this); 297}; 298Telerik.Sitefinity.Web.UI.Validation.ValidatedEventArgs.prototype={initialize:function(){Telerik.Sitefinity.Web.UI.Validation.ValidatedEventArgs.callBaseMethod(this,"initialize"); 299},dispose:function(){Telerik.Sitefinity.Web.UI.Validation.ValidatedEventArgs.callBaseMethod(this,"dispose"); 300},get_value:function(){return this._value; 301},get_isValid:function(){return this._isValid; 302},set_isValid:function(value){if(this._isValid!=value){this._isValid=value; 303}}}; 304Telerik.Sitefinity.Web.UI.Validation.ValidatedEventArgs.registerClass("Telerik.Sitefinity.Web.UI.Validation.ValidatedEventArgs",Sys.EventArgs); 305Telerik.Sitefinity.Web.UI.Validation.ValidationResult=function(){this._isValid=false; 306this._value=value; 307Telerik.Sitefinity.Web.UI.Validation.ValidationResult.initializeBase(this); 308}; 309Type.registerNamespace("Telerik.Sitefinity.Web.UI.Validation.Enums"); 310Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat=function(){}; 311Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.prototype={None:0,AlphaNumeric:1,Currency:2,EmailAddress:3,Integer:4,InternetUrl:5,NonAlphaNumeric:6,Numeric:7,Percentage:8,USSocialSecurityNumber:9,USZipCode:10,Custom:11}; 312Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat.registerEnum("Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationFormat"); 313Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationCompareOperator=function(){}; 314Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationCompareOperator.prototype={Equal:0,NotEqual:1,GreaterThan:2,GreaterThanEqual:3,LessThan:4,LessThanEqual:5,DataTypeCheck:6}; 315Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationCompareOperator.registerEnum("Telerik.Sitefinity.Web.UI.Validation.Enums.ValidationCompareOperator");
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.