function TJ_ValidateField(Element, ObjValidate, ObjMessages) { var Callback = new Object(); var MessageCallback = ""; Callback.messages = ""; Callback.iserror = 0; //Handle all options in the validation object for( var name in ObjValidate ) { switch(name) { case "minlength": if(Element.value.length > ObjValidate[name] - 1) { // OKAY MessageCallback = ''; } else { MessageCallback = ObjMessages.minlength_error; Callback.iserror = 1; } break; case "alpha": var pattern = /^[A-Za-z\s]+$/; if(pattern.exec(Element.value)) { MessageCallback = ''; } else { MessageCallback = ObjMessages.alpha_error; Callback.iserror = 1; } break; case "alphanumeric": var pattern = /^[\w\s]+$/; if(pattern.exec(Element.value)) { MessageCallback = ''; } else { MessageCallback = ObjMessages.alphanumeric_error; Callback.iserror = 1; } break; case "numeric": var pattern = /^[\s0-9]*$/; if(pattern.exec(Element.value)) { MessageCallback += ' '; } else { MessageCallback = ObjMessages.numeric_error; Callback.iserror = 1; } break; case "email": var pattern = /^[^@]+@([-\w]+\.)+[A-Za-z]{2,4}$/; if(pattern.exec(Element.value)) { MessageCallback = ' '; } else { MessageCallback += ObjMessages.email_error; Callback.iserror = 1; } break; case "listmenu": if(Element.value == "") { MessageCallback = 'no selection'; Callback.iserror = 1; } else { MessageCallback = ' '; } break; case "date": var pattern =/^([012]?\d|3[01])\/(0?\d|1[012])\/(19|20)\d\d$/; if(pattern.exec(Element.value)) { MessageCallback = ' '; } else { MessageCallback = ObjMessages.date_error; Callback.iserror = 1; } break; case "domsg": if(Callback.iserror == 1) Callback.domsg = 1; break; case "alert": if(Callback.iserror == 1) Callback.doalert = 1; break; } } Callback.messages = MessageCallback; return Callback; } function TJ_FormValidate(FormName, FormId, ObjFormValidate, ObjMessages) // Manipulating Globals here. { var Element; var Callback; var stop_focus = 0; for(var ValidateObjName in ObjFormValidate) { //var Callback = new Object(); Element = document.getElementById(FormId).elements[ValidateObjName]; //Perform check and retrieve message callbacks for each element. Callback = TJ_ValidateField(Element,ObjFormValidate[ValidateObjName], ObjMessages); //Write any callback messages. if(Callback.iserror == 1) { if(Callback.domsg == 1) { document.getElementById(FormId + '_' + ValidateObjName).innerHTML = ' '; document.getElementById(FormId + '_' + ValidateObjName).innerHTML = Callback.messages; } if(Callback.doalert == 1) alert(Callback.messages); } } }