// validate.js © Copyright of Teamsoft 1998-2003. All rights Reserved. // The following functions work on strings and doesn't give error messages. function notDigits(numString) { for (var i = 0; i < numString.length; i++) { var ch = numString.charAt(i); if (ch < "0") return true; if (ch > "9") return true; } // end for return false; } // end function function badDate(dateString) { // checks if date field is valid var ymd = dateString.split("-") if (ymd.length != 3) return true if (ymd[0].length !=4) return true if (ymd[1].length != 2) return true if (ymd[2].length != 2) return true for (var i = 0; i < 3; i++) { if (notDigits(ymd[i])) return true } // end for return false } // end function // The following functions work on fields and gives error messages function emptyField(field, name) { // cheks if mandatory field is empty var val = field.value if (val == "" || val.search(/\w/) == -1) { alert("Indtast venligst " + name) field.focus() return true } // end if return false } // end function function emptySelect(field, name) { // cheks if value is selected from drop-down if (field.options[0].selected) { alert("Vælg venligst en " + name + " fra listen") field.focus() return true } // end if return false } // end function function emptyYesNo(field, name) { // cheks if value is selected from drop-down if (field[0].checked || field[1].checked) return false alert("Please reply Yes or No to question about " + name) field[0].focus() return true } // end function function badDateField(field, name, years) { if (emptyField(field, name)) return true // check format of date var dateString = field.value if (badDate(dateString)) { alert('The date "' + dateString + '" does not have the format "yyyy-mm-dd" (in ' + name + ')') field.focus() return true } // end if // check validity of date var ymd = dateString.split("-") var year = Number(ymd[0]) var month = Number(ymd[1]) -1 var day = Number(ymd[2]) var dateValue = new Date(year, month, day) // alert("Year=" + dateValue.getFullYear() + ", Month=" + dateValue.getMonth() + ", Day=" + dateValue.getDate()) if (year != dateValue.getFullYear() || month != dateValue.getMonth() || day != dateValue.getDate()) { alert('The date "' + dateString + '" is not a valid date (in ' + name + ')') field.focus() return true } // end if // check max date var max = new Date() max.setFullYear(max.getFullYear() - years) if (dateValue > max) { alert('A date after "' + String(max.getFullYear()) + '-' + String(max.getMonth() + 1) + "-" + String(max.getDate()) + '" is not allowed (in ' + name + ')') field.focus() return true } // end if } // end function