function validate(){ this.formName = ''; this.i = 0; this.fieldN = new Array(); // Field name this.fieldV = new Array(); // Field value this.fieldT = new Array(); // Field type (text, editor, checkbox, radio, select, mselect, date) this.fieldI = new Array(); // Field Id this.fieldC = new Array(); // Check for equal field this.fieldEQ = new Array(); // Check for equal supplied string match this.fieldNM = new Array(); // if 1 Check for field is Numeric this.fieldGT = new Array(); // Check for Greater than supplied string (works for field type text and date only) this.fieldLT = new Array(); // Check for Less than supplied string (works for field type text and date only) this.fieldGE = new Array(); // Check for Grter thn o equal to supplied str(works for field type text & date only) this.fieldLE = new Array(); // Check for Less than o equal to supplied string(works for field type text & date only) this.fieldBT = new Array(); // Check for between 2 values (works for field type text only) this.checkEmpty = checkEmpty; this.checkDate = checkDate; this.checkEmail = checkEmail; this.checkURL = checkURL; } function checkEmpty(){ var err = ""; var frmObj = document.forms[this.formName]; for(var i=0; i= 0) || (this.fieldN[i].indexOf("Email") >= 0)){ if(!this.checkEmail()) { err += this.fieldV[i] + " (Invalid Email Id)\n"; } }else if(this.fieldN[i].indexOf("url") >= 0){ if(!this.checkURL()) { err += this.fieldV[i] + " (Invalid URL)\n"; } }else if((this.fieldN[i].indexOf("website") >= 0) || (this.fieldN[i].indexOf("WebSite") >= 0)) { if(!this.checkURL()) { err += this.fieldV[i] + " (Invalid URL)\n"; } }else if(this.fieldEQ[i]) { if(valueInField != this.fieldEQ[i]) { err += this.fieldV[i] + " (Invalid entry)\n"; } }else if(this.fieldLT[i]) { if(valueInField >= this.fieldLT[i]) { err += this.fieldV[i] + " (Invalid entry)\n"; } }else if(this.fieldGT[i]) { if(valueInField <= this.fieldGT[i]) { err += this.fieldV[i] + " (Value entered needs to be more than "+ this.fieldGT[i] +")\n"; } }else if(this.fieldLE[i]) { if(valueInField > this.fieldLE[i]) { err += this.fieldV[i] + " (Invalid entry)\n"; } }else if(this.fieldGE[i]) { if(valueInField < this.fieldGE[i]) { err += this.fieldV[i] + " (Invalid entry)\n"; } }else if(this.fieldBT[i]) { var btSplit = new Array(); btSplit = this.fieldBT[i].split('|'); if(btSplit[0] > btSplit[1]) { var tmpSplit = btSplit[0]; btSplit[0] = btSplit[1]; btSplit[1] = tmpSplit; } if((valueInField >= btSplit[0]) && (valueInField <= btSplit[1])) { err += this.fieldV[i] + " (Invalid entry)\n"; } } } if(err != "") { var errShow = "Following fields are empty or not entered correctly\n\n"; errShow += err; alert(errShow); return false; } return true; } function checkDate(){ var fieldVal = document.forms[this.formName].elements[this.fieldN[this.i]].value; if(!fieldVal || fieldVal==' '){ return false; } var dateString = formatDate(fieldVal); var dateTimeArr = dateString.split(' '); var dateV = dateTimeArr[0]; var timeV = dateTimeArr[1]; var dateArr = dateV.split('-'); var yy = dateArr[0]; var mm = dateArr[1]; var dd = dateArr[2]; var hour = '00'; var min = '00'; var sec = '00'; if(timeV) { var timeArr = timeV.split(':'); hour = timeArr[0]; min = timeArr[1]; sec = timeArr[2]; } var checkLeep = yy%4; if((checkLeep > 0) && (mm == 2) && (dd > 28)) { return false; } if((checkLeep == 0) && (mm == 2) && (dd > 29)) { return false; } if((dd > 30) && ( (mm == 4) || (mm == 6) || (mm == 9) || (mm == 11))) { return false; } if(isNaN(dd) || isNaN(mm) || isNaN(yy)) { return false; } return true; } function checkEmail(){ var fieldValue = document.forms[this.formName].elements[this.fieldN[this.i]].value; var chkAt = fieldValue.indexOf("@"); var chkDot= fieldValue.indexOf("."); var chkHack= fieldValue.indexOf("@."); var chkHackA= fieldValue.indexOf(".@"); if((chkAt >= 0) && (chkDot >= 0) && (chkHack == -1) && (chkHackA == -1) ) { return true; } return false; } function checkURL(){ var fieldValue = document.forms[this.formName].elements[this.fieldN[this.i]].value; if(fieldValue.length <= 8) { return false; } if((fieldValue.substr(0,7) == "http://") || (fieldValue.substr(0,8) == "https://")) { return true; } return false; }