//== JavaScript Form Validation Module ===================================================================================================// // // Date created: 25 February 2003 // Last update: 26 May 2003 // Tested for: Netscape 6.1 and Internet Explorer 5.5 and above // Script version: JavaScript // Author: Benjé Mouton // Company: 001 Digital Construction // Files: "Validation.asp" // Notes: Updated by Brendon Julius (2008/07/21) // Tested for Internet Explorer 7.0 and FireFox 2.0 // //== Standard Script Block ===============================================================================================================// // // Include the following script block in the head tag in order for the functions to work. // // // // //== Event Handler =======================================================================================================================// // // Include the following event handler to activate the form validation functions. // // onSubmit/onClick="return(Validate(this.form.name));" // //== Start Functions =====================================================================================================================// var sErrorMessage = ""; var sErrorColor = "#E8D4D6"; var sNormalColor = "#F8F8F8"; var oField = null; //== String Function =====================================================================================================================// function Trim(sString) { if (sString.length != "") { return sString.replace(/\s+/g, ""); } else { return sString; } } function MaxLength(sForm, sField, iLength) { var oControl = eval("document."+sForm+"."+sField); if (oControl.value.length > iLength) { oControl.value = oControl.value.substr(0, iLength); } } //== IsBlank Function ====================================================================================================================// function IsBlank(sForm, sField, sMessage) { var oControl = eval("document." + sForm + "." + sField); if (Trim(oControl.value).length < 1) { if (sMessage == "") { return true; } else { if (oField == null) { oField = oControl; } oControl.style.backgroundColor = sErrorColor; sErrorMessage = sErrorMessage + "\n - " + sMessage; } } else { oControl.style.backgroundColor = sNormalColor; return false; } } function IsBlankMultiple(sForm, sFields, iBlankFieldsAllowed, sMessage) { var iRequired = 0; for (var i = 0; i < sFields.length; i++) { var oControl = eval("document." + sForm + "." + sFields[i]); if (Trim(oControl.value).length < 1) { iRequired = iRequired + 1; } } if (iRequired > iBlankFieldsAllowed) { for (var i = 0; i < sFields.length; i++) { var oControl = eval("document." + sForm + "." + sFields[i]); oControl.style.backgroundColor = sErrorColor; } sErrorMessage = sErrorMessage + "\n - " + sMessage; } else { for (var i = 0; i < sFields.length; i++) { var oControl = eval("document." + sForm + "." + sFields[i]); oControl.style.backgroundColor = sNormalColor; } oControl.style.backgroundColor = sNormalColor; } } //== IsChecked Function ==================================================================================================================// function IsChecked(sForm, sField, iMinimum, sMessage) { var oElements = document.getElementsByName(sField); var iChecked = 0; for (var i = 0; i < oElements.length; i++) { if (oElements[i].type == "checkbox") { if (oElements[i].checked) { iChecked++; } } } if (iChecked < iMinimum) { for (var i = 0; i < oElements.length; i++) { if (oElements[i].type == "checkbox") { oElements[i].style.backgroundColor = sErrorColor; } } sErrorMessage = sErrorMessage + "\n - " + sMessage; } else { for (var i = 0; i < oElements.length; i++) { if (oElements[i].type == "checkbox") { oElements[i].style.backgroundColor = sNormalColor; } } } } //== IsEmail Function ====================================================================================================================// function IsEmail(sForm, sField, sMessage, bRequired) { var oControl = eval("document." + sForm + "." + sField); var bContents = IsBlank(sForm, sField, ""); var bValidEmail = false; if (oControl.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) { bValidEmail = true; } else { bValidEmail = false; } if (bRequired && bContents && !bValidEmail) { if (oField == null) { oField = oControl; } sErrorMessage = sErrorMessage + "\n - " + sMessage; oControl.style.backgroundColor = sErrorColor; } else if (bRequired && !bContents && !bValidEmail) { if (oField == null) { oField = oControl; } sErrorMessage = sErrorMessage + "\n - " + sMessage; oControl.style.backgroundColor = sErrorColor; } else if (!bRequired && !bContents && !bValidEmail) { if (oField == null) { oField = oControl; } oControl.style.backgroundColor = sErrorColor; sErrorMessage = sErrorMessage + "\n - " + sMessage; } else { oControl.style.backgroundColor = sNormalColor; } } //== IsSelected Function ===-=============================================================================================================// function IsSelected(sForm, sField, sMessage) { var oControl = eval("document." + sForm + "." + sField); if (oControl != null) { if (oControl.options[oControl.selectedIndex].value != "") { oControl.style.backgroundColor = sNormalColor; } else { if (oField == null) { oField = oControl; } oControl.style.backgroundColor = sErrorColor; sErrorMessage = sErrorMessage + "\n - " + sMessage; } } else { window.alert("Control is null..."); } } function IsSelectedOther(sForm, sField, sOtherField, sMessage) { var oControl = eval("document." + sForm + "." + sField); var oOtherControl = eval("document." + sForm + "." + sOtherField); if (oControl.options[oControl.selectedIndex].value != "") { if (oControl.options[oControl.selectedIndex].value == "0") { if (Trim(oOtherControl.value).length < 1) { if (oField == null) { oField = oOtherControl; } oOtherControl.style.backgroundColor = sErrorColor; sErrorMessage = sErrorMessage + "\n - " + sMessage; } else { oOtherControl.style.backgroundColor = sNormalColor; } } oControl.style.backgroundColor = sNormalColor; } else { if (oField == null) { oField = oControl; } oControl.style.backgroundColor = sErrorColor; sErrorMessage = sErrorMessage + "\n - " + sMessage; } } function IsRadioChecked(sForm, sField, sMessage) { var objRadioButtons = document.getElementsByName(sField); var intChecked = 0; if (objRadioButtons != null) { for (var i = 0; i < objRadioButtons.length; i++) { if (objRadioButtons[i].checked == true) { intChecked++; } } } if (intChecked == 0) { if (oField == null) { oField = objRadioButtons[0]; } for (var i = 0; i < objRadioButtons.length; i++) { objRadioButtons[i].style.backgroundColor = sErrorColor; } sErrorMessage = sErrorMessage + "\n - " + sMessage; } else { for (var i = 0; i < objRadioButtons.length; i++) { objRadioButtons[i].style.backgroundColor = ""; } } } //== IsDate Function ===-=================================================================================================================// function IsDate(sForm, sDayField, sMonthField, sYearField, sMessage) { var oDayControl = eval("document." + sForm + "." + sDayField); var oMonthControl = eval("document." + sForm + "." + sMonthField); var oYearControl = eval("document." + sForm + "." + sYearField); if (oYearControl.value % 4 == 0) { if (oYearControl.value % 100 == 0) { if (oYearControl.value % 400 == 0) { var aDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31); if (parseInt(oDayControl.value) > aDays[oMonthControl.value - 1]) { if (sMessage == "") { return false; } else { oDayControl.style.backgroundColor = sErrorColor; sErrorMessage = sErrorMessage + "\n - " + sMessage; } } else { oDayControl.style.backgroundColor = sNormalColor; return true; } } else { var aDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31); if (parseInt(oDayControl.value) > aDays[oMonthControl.value - 1]) { if (sMessage == "") { return false; } else { oDayControl.style.backgroundColor = sErrorColor; sErrorMessage = sErrorMessage + "\n - " + sMessage; } } else { oDayControl.style.backgroundColor = sNormalColor; return true; } } } else { var aDays = new Array(31,29,31,30,31,30,31,31,30,31,30,31); if (parseInt(oDayControl.value) > aDays[oMonthControl.value - 1]) { if (sMessage == "") { return false; } else { oDayControl.style.backgroundColor = sErrorColor; sErrorMessage = sErrorMessage + "\n - " + sMessage; } } else { oDayControl.style.backgroundColor = sNormalColor; return true; } } } else { var aDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31); if (parseInt(oDayControl.value) > aDays[oMonthControl.value - 1]) { if (sMessage == "") { return false; } else { oDayControl.style.backgroundColor = sErrorColor; sErrorMessage = sErrorMessage + "\n - " + sMessage; } } else { oDayControl.style.backgroundColor = sNormalColor; return true; } } } //========================================================================================================================================// function InputNumeric(p_evtEvent) { p_evtEvent = p_evtEvent || window.event; ch = p_evtEvent.which || p_evtEvent.keyCode; if (ch != null) { if (ch >= 48 && ch <= 57) { return(true); } } alert('Please enter a numeric value.'); return(false); }