0byt3m1n1
Path:
C:
/
Windows
/
Installer
/
$PatchCache$
/
Managed
/
00002109030000000000000000F01FEC
/
12.0.4518
/
[
Home
]
File: VALIDATION.JS5
/********************************************************************* Notice You may not modify, use, copy or distribute this file or its contents. Internal interfaces referenced in this file are nonpublic, unsupported and subject to change without notice. These interfaces may not be utilized in other software applications or components. *********************************************************************/ // Global arrays used by the validation and formatting functions. var g_arrErrors = new Array(); // =============================VALIDATION=============================== // === the following functions apply to validating the entered values === // === according to the rules set up when the form was created === // ====================================================================== function validateRequiredRichText(i_FieldName) { var objRichText = document.getElementById(i_FieldName); if (objRichText != null) validateRequired(objRichText); } // === validateRequired(object, string) ========================= // called for input types that may be required, displays an error // if the value is blank function validateRequired(i_objInput) { if (!g_IsSearch) { var strRequired = i_objInput.getAttribute("ISREQUIRED"); if (strRequired != null) { var blnClear = true; var strValue = ""; if (i_objInput.tagName == "OBJECT") { strValue = i_objInput.IGrooveTextContent.PlainText; strValue = strValue.replace(/[\r\n]/g, ""); } else if (i_objInput.tagName == "SPAN") { strValue = i_objInput.getAttribute("CONTACTURL"); if (strValue == null) strValue = ""; } else if (i_objInput.type == "radio") { var DocumentForm = document.GrooveFormBase; var RadioGroup = DocumentForm.elements[i_objInput.id]; for (var i = 0; i < RadioGroup.length; i++) { if (RadioGroup[i].checked) { strValue = RadioGroup[i].value; break; } } } else if (i_objInput.type == "checkbox") { if (i_objInput.checked) strValue = "true"; } else strValue = i_objInput.value; if (strValue.trim() == "") { // Hidden fields should never be required. if (i_objInput.style.display != "none" && i_objInput.parentElement.style.display != "none") { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); // IDS_FORMS_TOOL_JS_FIELD_REQUIRED displayError(Priv.GetResourcedString(IDS_FORMS_TOOL_JS_FIELD_REQUIRED), i_objInput, "Required"); blnClear = false; } } if (blnClear) clearError(i_objInput, "Required"); } } } // === validateNumeric(object) ================================== // called for numeric input types, displays an error if it is not // a number, or does not conform to min/max rules function validateNumeric(i_objInput) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); var blnClear = true; var strNumeric = i_objInput.value; if (strNumeric == "") var intNumeric = Number.NaN; else var intNumeric = getValidNumber(i_objInput); if ((strNumeric != "" || i_objInput.value != "") && isNaN(intNumeric)) // IDS_FORMS_TOOL_JS_INVALID_NUMBER displayError(Priv.GetResourcedString(IDS_FORMS_TOOL_JS_INVALID_NUMBER), i_objInput, "InvalidNumeric"); else clearError(i_objInput, "InvalidNumeric"); var strMin = i_objInput.getAttribute("MIN"); var strMax = i_objInput.getAttribute("MAX"); var intMin = parseFloat(strMin); var intMax = parseFloat(strMax); if (strMin != null && strMin != "" && intNumeric < intMin) { var MsgFormatEnum = CreateBSTREnumFromArray([strMin]); // IDS_FORMS_TOOL_JS_MIN_NUMBER displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_MIN_NUMBER, MsgFormatEnum), i_objInput, "Numeric"); blnClear = false; } if (strMax != null && strMax != "" && intNumeric > intMax) { var MsgFormatEnum = CreateBSTREnumFromArray([strMax]); // IDS_FORMS_TOOL_JS_MAX_NUMBER displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_MAX_NUMBER, MsgFormatEnum), i_objInput, "Numeric"); blnClear = false; } if (blnClear) clearError(i_objInput, "Numeric"); return blnClear; } // === validateDate(object) ==================================== // called for date types, displays an error if it is not a valid // date, or does not conform to min/max rules function validateDate(i_objInput) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); var blnBlankErr = false; var blnNaNErr = false; var blnMinErr = false; var blnMaxErr = false; var strFormat = i_objInput.getAttribute("FORMAT"); var strFieldType = i_objInput.getAttribute("FIELDTYPE"); var intDateFormat = getScriptHostQI("IGrooveFormsToolUIDelegateFormPrivate").CreateDateFormatStyleFromAttributeValue(strFormat); var strInput = i_objInput.value; var intInput = getValidDateMillis(strInput, intDateFormat, i_objInput); if (strInput != "" && isNaN(intInput)) { blnNaNErr = true; var strNow = ""; var intNow = new Date().valueOf(); if (strFieldType == FormObjectType_DateTime) strNow = getScriptHostQI("IGrooveFormsToolUIDelegate").FormatDateTime(intNow, intDateFormat, 3); else strNow = getScriptHostQI("IGrooveFormsToolUIDelegate").FormatDate(intNow, intDateFormat) var MsgFormatEnum = CreateBSTREnumFromArray([strNow]); // IDS_FORMS_TOOL_JS_INVALID_DATE displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_INVALID_DATE, MsgFormatEnum), i_objInput, "InvalidDate"); } else if (strInput == "") { blnBlankErr = true; clearError(i_objInput, "InvalidDate"); } else clearError(i_objInput, "InvalidDate"); var strMin = i_objInput.getAttribute("MIN"); var strMax = i_objInput.getAttribute("MAX"); var strMinDate = ""; var strMaxDate = ""; if (strMin != null && strMin != "" && strMin != INVALID_DATE) { if (strFieldType == FormObjectType_DateTime) strMinDate = getScriptHostQI("IGrooveFormsToolUIDelegate").FormatDateTime(strMin, 3, 3); else strMinDate = getScriptHostQI("IGrooveFormsToolUIDelegate").FormatDate(strMin, 3); } if (strMax != null && strMax != "" && strMax != INVALID_DATE) { if (strFieldType == FormObjectType_DateTime) strMaxDate = getScriptHostQI("IGrooveFormsToolUIDelegate").FormatDateTime(strMax, 3, 3); else strMaxDate = getScriptHostQI("IGrooveFormsToolUIDelegate").FormatDate(strMax, 3); } // Min and max values are passed in as milliseconds. var intMin = parseInt(strMin); var intMax = parseInt(strMax); if (strMin != null && strMin != "" && strMin != INVALID_DATE && !isNaN(intMin) && intInput < intMin) blnMinErr = true; if (strMax != null && strMax != "" && strMax != INVALID_DATE && !isNaN(intMax) && intInput > intMax) blnMaxErr = true; if (strMin != INVALID_DATE && strMax != INVALID_DATE && !isNaN(intMin) && !isNaN(intMax) && strInput != "" && (blnMinErr || blnMaxErr)) { var MsgFormatEnum = CreateBSTREnumFromArray([strMinDate, strMaxDate]); // IDS_FORMS_TOOL_JS_INVALID_DATE_RANGE displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_INVALID_DATE_RANGE, MsgFormatEnum), i_objInput, "Date"); } else if (strInput != "" && blnMinErr) { var MsgFormatEnum = CreateBSTREnumFromArray([strMinDate]); // IDS_FORMS_TOOL_JS_INVALID_MIN_DATE displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_INVALID_MIN_DATE, MsgFormatEnum), i_objInput, "Date"); } else if (strInput != "" && blnMaxErr) { var MsgFormatEnum = CreateBSTREnumFromArray([strMaxDate]); // IDS_FORMS_TOOL_JS_INVALID_MAX_DATE displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_INVALID_MAX_DATE, MsgFormatEnum), i_objInput, "Date"); } if (!blnMinErr && !blnMaxErr) clearError(i_objInput, "Date"); return (!blnMinErr && !blnMaxErr && !blnBlankErr && !blnNaNErr); } // =======================VALIDATION=FORMATTING========================== // === the following functions apply to formatting the entered values === // === according to the rules set up when the form was created === // ====================================================================== // === formatNumeric(object) ========================================== // formats the value of the numeric input according to formatting rules function formatNumeric(i_objInput) { var StringValue = i_objInput.value; if (StringValue != "") { NumericValue = getValidNumber(i_objInput); if (!isNaN(NumericValue)) i_objInput.value = formatNumericValue(i_objInput, NumericValue); } } function formatNumericValue(i_objInput, i_Value) { var FormatCancel = i_objInput.getAttribute("NOFORMAT"); if (FormatCancel == null) { if (!isNaN(i_Value) && i_Value != "") { var NumericPrecision = getFormatAttribute(i_objInput, "PRECISION", "2"); return getScriptHostQI("IGrooveFormsToolUIDelegate").FormatNumber(i_Value, NumericPrecision); } } return i_Value; } // === formatCurrency(object) ========================================== // formats the value of the currency input according to formatting rules function formatCurrency(i_objInput) { var StringValue = i_objInput.value; if (StringValue != "") { var CurrencyValue = getValidNumber(i_objInput); if (!isNaN(CurrencyValue)) i_objInput.value = formatCurrencyValue(i_objInput, CurrencyValue); } } function formatCurrencyValue(i_objInput, i_Value) { if (!isNaN(i_Value)) { var CurrencyPrecision = getFormatAttribute(i_objInput, "PRECISION", "2"); var CurrencySymbol = getFormatAttribute(i_objInput, "SYMBOL", "$"); return getScriptHostQI("IGrooveFormsToolUIDelegate").FormatNumber(i_Value, CurrencyPrecision, CurrencySymbol); } return i_Value; } // === formatDate(object) ========================================== // formats the value of the date input according to formatting rules function formatDate(i_objInput) { var InputValue = i_objInput.value; if (InputValue != "") { var strFormat = i_objInput.getAttribute("FORMAT"); var intDateFormat = getScriptHostQI("IGrooveFormsToolUIDelegateFormPrivate").CreateDateFormatStyleFromAttributeValue(strFormat); var DateValue = getValidDateMillis(InputValue, intDateFormat, i_objInput); if (isNaN(DateValue)) DateValue = new Date().valueOf(); var FieldTypeAttribute = i_objInput.getAttribute("FIELDTYPE"); if (FieldTypeAttribute == FormObjectType_DateTime) { var DateAndTimeEnum = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate").FormatDateAndTime(DateValue, intDateFormat, 3); if (DateAndTimeEnum.HasMore()); i_objInput.value = DateAndTimeEnum.OpenNext(); var TimeObject = document.getElementById(i_objInput.id + "_Time"); if (TimeObject != null && DateAndTimeEnum.HasMore()) TimeObject.value = DateAndTimeEnum.OpenNext(); } else { DateValue = getScriptHostQI("IGrooveFormsToolUIDelegate").FormatDate(DateValue, intDateFormat); i_objInput.value = DateValue; } } } // =======================VALIDATION=UTILITY=========================== // === the following section contains utility functions used within === // === this javascript file === // ==================================================================== // === cleanDate(object) ================================ // cleans date objects that are passed in; no longer used function cleanDate(i_objInput) { } function ErrorObject(i_Name, i_Message, i_FieldName) { this.Name = ""; this.Message = ""; this.FieldName = ""; if (arguments.length > 0) this.initErrorObject(i_Name, i_Message, i_FieldName); } ErrorObject.prototype.initErrorObject = function(i_Name, i_Message, i_FieldName) { this.Name = i_Name; this.Message = i_Message; this.FieldName = i_FieldName; } // === displayError(string, object, string) ========================== // displays the passed in string as an error message in the status bar function displayError(i_strError, i_objError, i_strName) { if (!g_IsPreviewPane) { var strObjName = i_objError.id; if (strObjName == "" || strObjName == null) strObjName = i_objError.getAttribute("NAME"); var strErrorName = i_strName + "_" + strObjName; // Add the error to the global array if not there already. var blnErrorFound = false; for (var i = 0; i < g_arrErrors.length; i++) { var objError = g_arrErrors[i]; if (objError.Name == i_strName && objError.FieldName == strObjName) { blnErrorFound = true; break; } } if (!blnErrorFound) { var objError = new ErrorObject(i_strName, i_strError, strObjName); g_arrErrors.push(objError); } // Display the error icon and set the TITLE for tooltip. showErrorIcon(strObjName, i_strError, true) } } // === clearError(object, string) =================================== // clears the error for the passed in object from the page and erases // it from the error array function clearError(i_objError, i_strName) { var strObjName = i_objError.id; if (strObjName == "" || strObjName == null) strObjName = i_objError.getAttribute("NAME"); // Remove the error name from the global array. var arrErrors = new Array(); var strErrorName = i_strName + "_" + strObjName; for (var i = 0; i < g_arrErrors.length; i++) { var strTempErrorName = g_arrErrors[i].Name + "_" + g_arrErrors[i].FieldName; if (strTempErrorName != strErrorName) arrErrors.push(g_arrErrors[i]); } g_arrErrors = arrErrors; showErrorIcon(strObjName, "", false); // If there are any more errors left for this field, display the first. for (var i = 0; i < g_arrErrors.length; i++) { if (g_arrErrors[i].FieldName == strObjName) { showErrorIcon(strObjName, g_arrErrors[i].Message, true); break; } } } function showErrorIcon(i_strName, i_strError, i_blnShow) { var objField = document.getElementById(i_strName); var objImage = document.getElementById(i_strName + "_ErrorImage"); if (objField != null && objImage != null) { if (i_blnShow) { // Radio button fields have a SPAN tag at the end so we know where it is. var FieldType = objField.type; if (FieldType == "radio") { objField = document.getElementById(i_strName + "_RadioEnd"); if (objField == null) return; } // Get the coordinates for the field, so we know where to put the error image. var intTop = getOffset(objField, "top"); var intLeft = getOffset(objField, "left"); var intHeight = objField.offsetHeight; var intWidth = objField.offsetWidth; // Get the left offset depending on the type of field. var TopOffset = intTop + 4; var LeftOffset = intLeft + intWidth - 16; if (objField.tagName == "OBJECT") LeftOffset += 20; else if (FieldType == "textarea") LeftOffset -= 16; else if (FieldType == "radio") { TopOffset -= 4; LeftOffset += 20; } else if (FieldType == "select-one" || FieldType == "select-multiple") { LeftOffset += 20; var CustomAttribute = objField.getAttribute("CUSTOM"); if (CustomAttribute != null) LeftOffset += 15; } else if (objField.tagName == "SPAN") { TopOffset -= 4; if (objField.getAttribute("ISREADONLY") == null) LeftOffset += 45; else LeftOffset += 20; } // Set the top and left positions of the error image. objImage.style.posTop = TopOffset; objImage.style.posLeft = LeftOffset; // Display the error image and set the tooltip text. objImage.style.display = "inline"; objImage.title = i_strError; } else { objImage.style.display = "none"; objImage.title = ""; } } } // === getValidNumber(object) ========================================= // get the numerical value from a number string, NaN if it is not valid function getValidNumber(i_objInput) { try { var NumberString = i_objInput.value; var ValidNumber; var FieldTypeAttribute = i_objInput.getAttribute("FIELDTYPE"); if (FieldTypeAttribute == FormObjectType_Currency) { var CurrencySymbol = getFormatAttribute(i_objInput, "SYMBOL", "$"); if (CurrencySymbol != "") { // Have to escape each character in the string in case the // symbol is longer than just one character. var SymbolExpression = ""; for (var i = 0; i < CurrencySymbol.length; i++) { SymbolExpression += "\\" + CurrencySymbol.substring(i, i+1); } // Remove the symbol from the string, and parse as a number. var objRegExp = new RegExp(SymbolExpression); NumberString = NumberString.replace(objRegExp, ""); } ValidNumber = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate").ParseCurrency(NumberString); } else ValidNumber = getScriptHostQI("IGrooveFormsToolUIDelegate").ParseNumber(NumberString); if (isNaN(ValidNumber)) { ValidNumber = Number(NumberString); if (isNaN(ValidNumber)) ValidNumber = Number.NaN; } } catch (error) { ValidNumber = Number.NaN; } return ValidNumber; } // === getValidDateMillis(string, string, object) ===================== // get the millisecond value from a date string, NaN if it is not valid function getValidDateMillis(i_DateString, i_intFormat, i_objInput) { var ValidDate = i_DateString; if (ValidDate != "") { try { var FieldTypeAttribute = i_objInput.getAttribute("FIELDTYPE"); if (FieldTypeAttribute == FormObjectType_DateTime) { var TimeString = ""; var TimeObject = document.getElementById(i_objInput.id + "_Time"); if (TimeObject != null) TimeString = TimeObject.value; ValidDate = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate").ParseDateAndTime(i_DateString, TimeString, i_intFormat, 3); } else ValidDate = getScriptHostQI("IGrooveFormsToolUIDelegate").ParseDate(i_DateString, i_intFormat); if (isNaN(ValidDate)) { ValidDate = new Date(i_DateString); if (isNaN(ValidDate)) ValidDate = Number.NaN else if (i_DateString.search(/^\d{1,2}[\/|\-]\d{1,2}[\/|\-]\d{1,2}(\-|\/|$)/) == 0) { // Fix dates with only two digit years. var CurrentDate = new Date(); var CutoffYear = CurrentDate.getFullYear() - 80; if (CutoffYear > ValidDate.getFullYear()) ValidDate.setFullYear(ValidDate.getFullYear() + 100); } ValidDate = ValidDate.valueOf(); } } catch (error) { ValidDate = Number.NaN; } } else ValidDate = Number.NaN; return ValidDate; } // === getFormatAttribute(object, string, string) ===================== // utility function to retrieve attribute from the passed in object, it // returns the passed in default value if the attribute is not found function getFormatAttribute(i_Object, i_Attribute, i_Default) { var FormatAttribute = i_Object.getAttribute(i_Attribute); if (FormatAttribute == null || FormatAttribute == "") FormatAttribute = i_Default; return FormatAttribute } // =====================FIELD=VALIDATION=HELPERS=========================== // === the following section contains field validation helper functions === // === that can be set by the form designer === // ======================================================================== function subStringTest(i_strSub, i_strValue) { if (i_strValue.indexOf(i_strSub) >= 0) return true; else return false; } function subStringNotTest(i_strSub, i_strValue) { return !subStringTest(i_strSub, i_strValue); } function subStringsTest(i_strSubs, i_strValue, i_objFunction) { if (typeof i_strSubs == "string") { return i_objFunction(i_strSubs, i_strValue); } else if (isArray(i_strSubs)) { var Result = false; for (var i = 0; i < i_strSubs.length; i++) { Result = i_objFunction(i_strSubs[i], i_strValue); if (!Result) return false; } return true; } } function isArray(i_objArray) { if (i_objArray.constructor.toString().indexOf("Array") >= 0) return true; else return false; } // =========================FIELD=VALIDATION============================= // === the following section contains field validation functions that === // === can be set by the form designer === // ====================================================================== function isSubStringPresent(i_strSub, i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "isSubStringPresent"); else { var Result = subStringTest(i_strSub, strValue); if (!Result) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); var MsgFormatEnum = CreateBSTREnumFromArray([i_strSub]); // IDS_FORMS_TOOL_JS_SUBSTRING_ERROR displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_SUBSTRING_ERROR, MsgFormatEnum), i_objInput, "isSubStringPresent"); } else clearError(i_objInput, "isSubStringPresent"); } } function isSubStringNotPresent(i_strSub, i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "isSubStringNotPresent"); else { var Result = !subStringTest(i_strSub, strValue); if (!Result) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); var MsgFormatEnum = CreateBSTREnumFromArray([i_strSub]); // IDS_FORMS_TOOL_JS_NO_SUBSTRING_ERROR displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_NO_SUBSTRING_ERROR, MsgFormatEnum), i_objInput, "isSubStringNotPresent"); } else clearError(i_objInput, "isSubStringNotPresent"); } } function areAllSubStringsPresent(i_strSubs, i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "areAllSubStringsPresent"); else { var arrSubs = i_strSubs.split(","); var Result = subStringsTest(arrSubs, strValue, subStringTest); if (!Result) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); var MsgFormatEnum = CreateBSTREnumFromArray([arrSubs.join("', '")]); // IDS_FORMS_TOOL_JS_ALL_SUBSTRINGS_ERROR displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_ALL_SUBSTRINGS_ERROR, MsgFormatEnum), i_objInput, "areAllSubStringsPresent"); } else clearError(i_objInput, "areAllSubStringsPresent"); } } function areAnySubStringsPresent(i_strSubs, i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "areAnySubStringsPresent"); else { var arrSubs = i_strSubs.split(","); var Result = false; for (var i = 0; i < arrSubs.length; i++) { if (subStringTest(arrSubs[i], strValue)) { Result = true; break; } } if (!Result) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); var MsgFormatEnum = CreateBSTREnumFromArray([arrSubs.join("', '")]); // IDS_FORMS_TOOL_JS_ANY_SUBSTRINGS_ERROR displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_ANY_SUBSTRINGS_ERROR, MsgFormatEnum), i_objInput, "areAnySubStringsPresent"); } else clearError(i_objInput, "areAnySubStringsPresent"); } } function areNoSubStringsPresent(i_strSubs, i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "areNoSubStringsPresent"); else { var arrSubs = i_strSubs.split(","); var Result = subStringsTest(arrSubs, strValue, subStringNotTest); if (!Result) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); var MsgFormatEnum = CreateBSTREnumFromArray([arrSubs.join("', '")]); // IDS_FORMS_TOOL_JS_NO_SUBSTRINGS_ERROR displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_NO_SUBSTRINGS_ERROR, MsgFormatEnum), i_objInput, "areNoSubStringsPresent"); } else clearError(i_objInput, "areNoSubStringsPresent"); } } function isValidEmailAddress(i_objInput) { var strEmail = i_objInput.value; if (strEmail == "") clearError(i_objInput, "isValidEmailAddress"); else { var objRegExp = /^[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,4}$/; if (!objRegExp.test(strEmail)) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); // IDS_FORMS_TOOL_JS_INVALID_EMAIL displayError(Priv.GetResourcedString(IDS_FORMS_TOOL_JS_INVALID_EMAIL), i_objInput, "isValidEmailAddress"); } else clearError(i_objInput, "isValidEmailAddress"); } } function isValidUSZipCode(i_objInput) { var strZipCode = i_objInput.value; if (strZipCode == "") clearError(i_objInput, "isValidUSZipCode"); else { var objRegExp = /^[\d]{5}$/; var objRegExpExt = /^[\d]{5}\-[\d]{4}$/; if (!objRegExp.test(strZipCode) && !objRegExpExt.test(strZipCode)) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); // IDS_FORMS_TOOL_JS_INVALID_ZIPCODE displayError(Priv.GetResourcedString(IDS_FORMS_TOOL_JS_INVALID_ZIPCODE), i_objInput, "isValidUSZipCode"); } else clearError(i_objInput, "isValidUSZipCode"); } } function isValidPassword(i_objInput) { var strPassword = i_objInput.value; if (strPassword == "") clearError(i_objInput, "isValidPassword"); else { var objRegExpUpper = /[A-Z]/; var objRegExpLower = /[a-z]/; var objRegExpNumeric = /\d/; if (strPassword.length < 8 || !objRegExpUpper.test(strPassword) || !objRegExpLower.test(strPassword) || !objRegExpNumeric.test(strPassword)) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); // IDS_FORMS_TOOL_JS_INVALID_PASSWORD displayError(Priv.GetResourcedString(IDS_FORMS_TOOL_JS_INVALID_PASSWORD), i_objInput, "isValidPassword"); } else clearError(i_objInput, "isValidPassword"); } } function isMinimumLength(i_strMin, i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "isMinimumLength"); else { var intMin = parseInt(i_strMin); if (!isNaN(intMin) && intMin > strValue.length) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); var MsgFormatEnum = CreateBSTREnumFromArray([i_strMin]); // IDS_FORMS_TOOL_JS_INVALID_MIN_LENGTH displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_INVALID_MIN_LENGTH, MsgFormatEnum), i_objInput, "isMinimumLength"); } else clearError(i_objInput, "isMinimumLength"); } } function isMaximumLength(i_strMax, i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "isMaximumLength"); else { var intMax = parseInt(i_strMax); if (!isNaN(intMax) && intMax < strValue.length) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); var MsgFormatEnum = CreateBSTREnumFromArray([i_strMax]); // IDS_FORMS_TOOL_JS_INVALID_MAX_LENGTH displayError(Priv.MessageFormat(IDS_FORMS_TOOL_JS_INVALID_MAX_LENGTH, MsgFormatEnum), i_objInput, "isMaximumLength"); } else clearError(i_objInput, "isMaximumLength"); } } function isAlpha(i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "isAlpha"); else { var objRegIsAlpha = /^[a-zA-Z]*$/; if (!objRegIsAlpha.test(strValue)) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); // IDS_FORMS_TOOL_JS_ISALPHABETIC_ERROR displayError(Priv.GetResourcedString(IDS_FORMS_TOOL_JS_ISALPHABETIC_ERROR), i_objInput, "isAlpha"); } else clearError(i_objInput, "isAlpha"); } } function hasAlpha(i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "hasAlpha"); else { var objRegHasAlpha = /[a-zA-Z]/; if (!objRegHasAlpha.test(strValue)) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); // IDS_FORMS_TOOL_JS_HASALPHABETIC_ERROR displayError(Priv.GetResourcedString(IDS_FORMS_TOOL_JS_HASALPHABETIC_ERROR), i_objInput, "hasAlpha"); } else clearError(i_objInput, "hasAlpha"); } } function isNumeric(i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "isNumeric"); else { var objRegIsNumeric = /^\d*$/; if (!objRegIsNumeric.test(strValue)) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); // IDS_FORMS_TOOL_JS_ISNUMERIC_ERROR displayError(Priv.GetResourcedString(IDS_FORMS_TOOL_JS_ISNUMERIC_ERROR), i_objInput, "isNumeric"); } else clearError(i_objInput, "isNumeric"); } } function hasNumeric(i_objInput) { var strValue = i_objInput.value; if (strValue == "") clearError(i_objInput, "hasNumeric"); else { var objRegHasNumeric = /\d/; if (!objRegHasNumeric.test(strValue)) { var Priv = getScriptHostQI("IGrooveFormsToolUIDelegatePrivate"); // IDS_FORMS_TOOL_JS_HASNUMERIC_ERROR displayError(Priv.GetResourcedString(IDS_FORMS_TOOL_JS_HASNUMERIC_ERROR), i_objInput, "hasNumeric"); } else clearError(i_objInput, "hasNumeric"); } }