var FormValidation = { init: function() { var forms = document.getElementsByTagName("form"); for (var i = 0; i < forms.length; i++) { Core.addEventListener(forms[i], "submit", FormValidation.submitListener); } }, rules: { required: /./, requiredNotWhitespace: /\S/, positiveInteger: /^\d*[1-9]\d*$/, positiveOrZeroInteger: /^\d+$/, integer: /^-?\d+$/, decimal: /^-?\d+(\.\d+)?$/, email: /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/, telephone: /^(\+\d+)?( |\-)?(\(?\d+\)?)?( |\-)?(\d+( |\-)?)*\d+$/, url: /^(((ht|f)tp(s?))\:\/\/)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk)(\:[0-9]+)*(\/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$/ }, errors: { required: "Please fill in this required field.", requiredNotWhitespace: "Please fill in this required field.", positiveInteger: "This field may only contain a positive whole number.", positiveOrZeroInteger: "This field may only contain a non-negative whole number.", integer: "This field may only contain a whole number.", decimal: "This field may only contain a number.", email: "Please enter a valid email address into this field.", telephone: "Please enter a valid telephone number into this field.", url: "Please enter a correct website address" }, fieldserrors: { realname: "- your real name.", email: "- a valid email address", displayname: "- a name to be displayed.", comment: "- a comment.", firstname: "- your first name", lastname: "- your last name", tagID: "- a tag" }, submitListener: function(event) { var fields = this.elements; var errorMessage = "Please make sure you enter:\n"; var errorFound = 0; var firstWrongField = 1; for (var i = 0; i < fields.length; i++) { var className = fields[i].className; var classRegExp = /(^| )(\S+)\b/g; var classResult; //alert (className); while (classResult = classRegExp.exec(className)) { var oneClass = classResult[2]; var rule = FormValidation.rules[oneClass]; //alert('inside submit liste2'); if (typeof rule != "undefined") { if (!rule.test(fields[i].value)) { if (firstWrongField == 1) { fields[i].focus(); firstWrongField = 0; } errorMessage = errorMessage + FormValidation.fieldserrors[fields[i].name] + "\n"; //alert(FormValidation.fieldserrors[fields[i].name]); errorFound = 1; //alert(FormValidation.errors[oneClass]); Core.preventDefault(event); //return; } } } } if (errorFound) { alert(errorMessage); Core.preventDefault(event); //return; } } }; Core.start(FormValidation);