/****************************************************************************** * * Page name: Validate.js * Description: Contains functions to be used for form validation * Functions: * Name: Description: * validateGreaterThan Checks to see if a value is greater than a specified value * validateLength Checks to see if item is longer than a specified minimum length * validateExactLength Checks to see if an item is a certain length * validateAreaCode Check to see if area code is a three digit integer * validatePhoneNumber Check if phone number is in proper format * validateSame Checks to see if two items match * validateSelect Checks to see if an item has been selected from a pull-down menu * validateRadio Checks to see if a radio button has been selected * validateInteger Checks to see if a value is an integer * validateFloat Checks to see if a value is a Float * validateDate Check date to see that it is a real date in x/x/xxxx format * LTrim, RTrim, Trim Trim Functions * * * Author: Mitzi Shanedling * Date: 05.18.2000 * * Updates * Author: * Date: * Reason: **********************************************************************************/ function validateGreaterThan(objFormField, intMinValue, strErrorMessage) { if(objFormField.options[objFormField.selectedIndex].value < intMinValue) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } function validateLength (objFormField, intMinLength, strErrorMessage) { if(objFormField.value.length < intMinLength) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } function validateExactLength (objFormField, intExactLength, strErrorMessage) { if(objFormField.value.length != intExactLength) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } function validateAreaCode(objFormField, strErrorMessage, blnAllowNull) { var blnError = false; var strAreaCode = objFormField.value; if (blnAllowNull) { if (objFormField.value.length == 0) return false; } if (validateExactLength(strAreaCode, 3)) { blnError = true; } //Note objPhonePrefix is used because pattern for area code and prefix is the same if (validateInternalRE(strAreaCode, objPhonePrefixRE)) { blnError = true; } if(blnError) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } else { return false; } } function validatePhoneNumber (objFormFieldPrefix, objFormFieldSuffix, strErrorMessage, blnAllowNull) { //Assume phone number is in the 555.5555 format var blnError = false; var strPrefix = objFormFieldPrefix.value; var strSuffix = objFormFieldSuffix.value; if (blnAllowNull) { if (objFormFieldPrefix.value.length == 0 && objFormFieldSuffix.value.length ==0) return false; } if (validateExactLength(strPrefix,3)) { blnError = true; } if (validateExactLength(strSuffix,4)) { blnError = true; } if (validateInternalRE(strPrefix, objPhonePrefixRE)) { blnError = true; } if (validateInternalRE(strSuffix, objPhoneSuffixRE)) { blnError=true; } if(blnError) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } else { return false; } } function validateSame (objFormField, objFormField2, strErrorMessage) { if (objFormField.value != objFormField2.value) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } function validateSelect (objFormField, strErrorMessage) { for (i = 0; i < objFormField.length; i++) { if (objFormField.options[i].selected) { if(objFormField.options[i].value > -1) { return false; } else { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } } error_message = error_message + strErrorMessage; error_flag = 1; return true; } function validateRadio (objFormField, strErrorMessage) { for (i = 0; i < objFormField.length; i++) { if (objFormField[i].checked) { return false; } } error_message = error_message + strErrorMessage; error_flag = 1; return true; } function validateInteger (strInteger, strErrorMessage) { if (isNaN(strInteger)) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } strValidChars = " 0123456789"; for (i = 1; i < strInteger.length; i++) { if(strValidChars.indexOf(strInteger.charAt(i)) < 0) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } return false; } function validateFloat (strInteger, strErrorMessage) { if (isNaN(strInteger)) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } strValidChars = " .0123456789"; for (i = 1; i < strInteger.length; i++) { if(strValidChars.indexOf(strInteger.charAt(i)) < 0) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } return false; } function validateDate (strDate, strErrorMessage) { if(strDate.length == 0) { return false; } intTokenPos = strDate.indexOf('/'); if (intTokenPos == strDate.length || intTokenPos == -1) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } strMonth = strDate.substring(0, intTokenPos); intTokenPos = strDate.indexOf('/', intTokenPos + 1); if (intTokenPos == strDate.length || intTokenPos == -1) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } strDay = strDate.substring((strMonth.length + 1), intTokenPos); strYear = strDate.substring(intTokenPos + 1); if (validateInteger(strMonth, strErrorMessage)) { return true; } if (validateInteger(strDay, strErrorMessage)) { return true; } if (validateInteger(strYear, strErrorMessage)) { return true; } if (strMonth > 12 || strMonth < 0) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } if (strYear < 0 || strYear > 2050) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } if (strMonth == 4 || strMonth == 6 || strMonth == 9 || strMonth == 11) { if (strDay < 0 || strDay > 30) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } else { if (strMonth == 2) { if (strYear % 4 > 0) { if(strDay < 0 || strDay > 28) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } else { if (strYear % 100 == 0 && strYear % 400 > 0) { if(strDay < 0 || strDay > 28) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } else { if(strDay < 0 || strDay > 29) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } } } else { if (strDay < 0 || strDay > 31) { error_message = error_message + strErrorMessage; error_flag = 1; return true; } } } return false; } function RTrim(strMyString) { return(strMyString.replace(/^\s*/,"")); } function LTrim(strMyString) { return(strMyString.replace(/\s*$/, "")); } function Trim(strMyString) { return(RTrim(LTrim(strMyString))); }