//--------------------------------------------------------------------------- // // Common Javascripts for All/Most Pages // //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // -- Generic Form Validation -------------------------------------------------- // ----------------------------------------------------------------------------- // Generic Form Validation // // Copyright (C) 2000 Jacob Hage - [jacobhage@hotmail.com] // Distributed under the terms of the GNU Library General Public License // Documentation at http://www.hagedesign.dk/scripts/js/validation/ // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- // Initializing script - setting global variables // ----------------------------------------------------------------------------- var checkObjects = new Array(); // Array containing the objects to validate. var errors = ""; // Variable holding the error message. var returnVal = false; // General return value. The validated form will only be submitted if true. var language = new Array(); // Language independent error messages! var selectecLanguage = "english"; // Choose between "english", "danish", "dutch", "french", "spanish", "russian", "portuguese" language.english = new Array(); // Error messages in english: language.english.header = "The following error(s) occured:\n" language.english.start = " --> "; language.english.field = "The \""; language.english.require = "\" field is required"; language.english.min = " and must consist of at least "; language.english.max = " and must not contain more than "; language.english.minmax = " and no more than "; language.english.chars = " characters"; language.english.num = " and must contain only numbers"; language.english.special = "\" must contain no special characters"; language.english.email = "\" must contain a valid e-mail address"; language.english.footer = "Please correct the error(s) to yield better results.\n" // ----------------------------------------------------------------------------- // define - Call this function to initalize validation fields. // // f = form name containing the input field ("
0&&parent.frames.length){ d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p); } if(!(x=d[f][n])&&d.all[f][n]) x=d.all[f][n]; for (i=0;!x&&i validateObject.max)){errors+=language[selectecLanguage].start+language[selectecLanguage].field+validateObject.HTMLname+language[selectecLanguage].require+language[selectecLanguage].min+validateObject.min+language[selectecLanguage].minmax+validateObject.max+language[selectecLanguage].chars+"\n"; } else if (validateObject.min && !validateObject.max && (validateObject.len < validateObject.min)){errors+=language[selectecLanguage].start+language[selectecLanguage].field+validateObject.HTMLname+language[selectecLanguage].require+language[selectecLanguage].min+validateObject.min+language[selectecLanguage].chars+"\n"; } else if (validateObject.max && !validateObject.min &&(validateObject.len > validateObject.max)){errors+=language[selectecLanguage].start+language[selectecLanguage].field+validateObject.HTMLname+language[selectecLanguage].require+language[selectecLanguage].max+validateObject.max+language[selectecLanguage].chars+"\n"; } else if (!validateObject.min && !validateObject.max && validateObject.len <= 0){errors+=language[selectecLanguage].start+language[selectecLanguage].field+validateObject.HTMLname+language[selectecLanguage].require+"\n"; } else if ((validateObject.val.indexOf("<") != -1) || (validateObject.val.indexOf(">") != -1)){errors+=language[selectecLanguage].start+language[selectecLanguage].field+validateObject.HTMLname+language[selectecLanguage].special+"\n"; } } else if(validateObject.type == "email"){ // Checking existense of "@" and ".". The length of the input must be at least 5 characters. The "." must neither be preceding the "@" nor follow it. if((validateObject.val.indexOf("@") == -1) || (validateObject.val.charAt(0) == ".") || (validateObject.val.charAt(0) == "@") ||(validateObject.len < 6) || (validateObject.val.indexOf(".") == -1) || (validateObject.val.charAt(validateObject.val.indexOf("@")+1) == ".") || (validateObject.val.charAt(validateObject.val.indexOf("@")-1) == ".")){errors+=language[selectecLanguage].start+language[selectecLanguage].field+validateObject.HTMLname+language[selectecLanguage].email+"\n";} } else if(validateObject.type == "string_opt"){ if ((validateObject.val.indexOf("<") != -1) || (validateObject.val.indexOf(">") != -1)){errors+=language[selectecLanguage].start+language[selectecLanguage].field+validateObject.HTMLname+language[selectecLanguage].special+"\n";} } } } // Purge defined validation fields for next iteration/submission checkObjects = new Array(); // Used to set the state of the returnVal. If errors -> show error messages in chosen language if(errors){ alert(language[selectecLanguage].header.concat("\n"+errors+"\n"+language[selectecLanguage].footer)); errors = ""; // reset for next form submission returnVal = false; } else { returnVal = true; } return returnVal; } // ----------------------------------------------------------------------------- // Used to initalize the form fields to validate // init - Called via "validate(formName)" function // formName = name of the FORM to validate // *** This function is custom to each form to validate. *** // ----------------------------------------------------------------------------- function init(formName) { if (formName == 'form1') // RBL Unblock form { define(formName, 'first1', 'string', 'Anti-spam'); define(formName, 'ipaddress', 'string', 'IP address'); define(formName, 'user_name', 'string', 'Name'); define(formName, 'company_name', 'string', 'Company Name'); define(formName, 'email_address', 'email', 'email field'); define(formName, 'phone_number', 'string', 'Phone #'); define(formName, 'comments', 'string', 'NDR output'); return; } } // -- /Generic Form Validation -------------------------------------------------