Index: lams_contentrepository/web/WEB-INF/validator-rules.xml =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/web/WEB-INF/validator-rules.xml,v diff -u -r1.1 -r1.2 --- lams_contentrepository/web/WEB-INF/validator-rules.xml 17 Jan 2005 10:02:58 -0000 1.1 +++ lams_contentrepository/web/WEB-INF/validator-rules.xml 21 Jul 2005 05:13:02 -0000 1.2 @@ -1,7 +1,8 @@ + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd"> @@ -49,458 +55,127 @@ methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, - org.apache.struts.action.ActionErrors, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" - msg="errors.required"> + msg="errors.required"/> - = 0) { - value = field.options[si].value; - } - } else { - value = field.value; - } - - if (trim(value).length == 0) { - - if (i == 0) { - focusField = field; - } - fields[i++] = oRequired[x][1]; - isValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - } - - // Trim whitespace from left and right sides of s. - function trim(s) { - return s.replace( /^\s*/, "" ).replace( /\s*$/, "" ); - } - - ]]> - - - - - + msg="errors.required"/> + + + + msg="errors.minlength" + jsFunction="org.apache.commons.validator.javascript.validateMinLength"/> - 0) && (field.value.length < iMin)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oMinLength[x][1]; - isValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - }]]> - - - - + msg="errors.maxlength" + jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/> - iMax) { - if (i == 0) { - focusField = field; - } - fields[i++] = oMaxLength[x][1]; - isValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - }]]> - - - + msg="errors.invalid"/> - 0)) { - - if (!matchPattern(field.value, oMasked[x][2]("mask"))) { - if (i == 0) { - focusField = field; - } - fields[i++] = oMasked[x][1]; - isValid = false; - } - } - } - - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - } - function matchPattern(value, mask) { - return mask.exec(value); - }]]> - - - - - + jsFunctionName="ByteValidations"/> - = 0) { - value = field.options[si].value; - } - } else { - value = field.value; - } - - if (value.length > 0) { - if (!isAllDigits(value)) { - bValid = false; - if (i == 0) { - focusField = field; - } - fields[i++] = oByte[x][1]; - - } else { - - var iValue = parseInt(value); - if (isNaN(iValue) || !(iValue >= -128 && iValue <= 127)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oByte[x][1]; - bValid = false; - } - } - } - - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - }]]> - - - - - + jsFunctionName="ShortValidations"/> - = 0) { - value = field.options[si].value; - } - } else { - value = field.value; - } - - if (value.length > 0) { - if (!isAllDigits(value)) { - bValid = false; - if (i == 0) { - focusField = field; - } - fields[i++] = oShort[x][1]; - } else { - - var iValue = parseInt(value); - if (isNaN(iValue) || !(iValue >= -32768 && iValue <= 32767)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oShort[x][1]; - bValid = false; - } - } - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - }]]> - - - - - + jsFunctionName="IntegerValidations"/> - = 0) { - value = field.options[si].value; - } - } else { - value = field.value; - } - - if (value.length > 0) { - - if (!isAllDigits(value)) { - bValid = false; - if (i == 0) { - focusField = field; - } - fields[i++] = oInteger[x][1]; - - } else { - var iValue = parseInt(value); - if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oInteger[x][1]; - bValid = false; - } - } - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - } - function isAllDigits(argvalue) { - argvalue = argvalue.toString(); - var validChars = "0123456789"; - var startFrom = 0; - if (argvalue.substring(0, 2) == "0x") { - validChars = "0123456789abcdefABCDEF"; - startFrom = 2; - } else if (argvalue.charAt(0) == "0") { - validChars = "01234567"; - startFrom = 1; - } else if (argvalue.charAt(0) == "-") { - startFrom = 1; - } - - for (var n = startFrom; n < argvalue.length; n++) { - if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false; - } - return true; - }]]> - - - - - @@ -512,81 +187,21 @@ methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, - org.apache.struts.action.ActionErrors, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.float" - jsFunctionName="FloatValidations"> + jsFunctionName="FloatValidations"/> - = 0) { - value = field.options[si].value; - } - } else { - value = field.value; - } - - if (value.length > 0) { - // remove '.' before checking digits - var tempArray = value.split('.'); - var joinedString= tempArray.join(''); - - if (!isAllDigits(joinedString)) { - bValid = false; - if (i == 0) { - focusField = field; - } - fields[i++] = oFloat[x][1]; - - } else { - var iValue = parseFloat(value); - if (isNaN(iValue)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oFloat[x][1]; - bValid = false; - } - } - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - }]]> - - - - - @@ -598,447 +213,101 @@ methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, - org.apache.struts.action.ActionErrors, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.date" - jsFunctionName="DateValidations"> + jsFunctionName="DateValidations"/> - 0) && - (datePattern.length > 0)) { - var MONTH = "MM"; - var DAY = "dd"; - var YEAR = "yyyy"; - var orderMonth = datePattern.indexOf(MONTH); - var orderDay = datePattern.indexOf(DAY); - var orderYear = datePattern.indexOf(YEAR); - if ((orderDay < orderYear && orderDay > orderMonth)) { - var iDelim1 = orderMonth + MONTH.length; - var iDelim2 = orderDay + DAY.length; - var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); - var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); - if (iDelim1 == orderDay && iDelim2 == orderYear) { - dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); - } else if (iDelim1 == orderDay) { - dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); - } else if (iDelim2 == orderYear) { - dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$"); - } else { - dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); - } - var matched = dateRegexp.exec(value); - if(matched != null) { - if (!isValidDate(matched[2], matched[1], matched[3])) { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else if ((orderMonth < orderYear && orderMonth > orderDay)) { - var iDelim1 = orderDay + DAY.length; - var iDelim2 = orderMonth + MONTH.length; - var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); - var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); - if (iDelim1 == orderMonth && iDelim2 == orderYear) { - dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); - } else if (iDelim1 == orderMonth) { - dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); - } else if (iDelim2 == orderYear) { - dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$"); - } else { - dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); - } - var matched = dateRegexp.exec(value); - if(matched != null) { - if (!isValidDate(matched[1], matched[2], matched[3])) { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else if ((orderMonth > orderYear && orderMonth < orderDay)) { - var iDelim1 = orderYear + YEAR.length; - var iDelim2 = orderMonth + MONTH.length; - var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); - var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); - if (iDelim1 == orderMonth && iDelim2 == orderDay) { - dateRegexp = new RegExp("^(\\d{4})(\\d{2})(\\d{2})$"); - } else if (iDelim1 == orderMonth) { - dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$"); - } else if (iDelim2 == orderDay) { - dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})(\\d{2})$"); - } else { - dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{2})$"); - } - var matched = dateRegexp.exec(value); - if(matched != null) { - if (!isValidDate(matched[3], matched[2], matched[1])) { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - } - function isValidDate(day, month, year) { - if (month < 1 || month > 12) { - return false; - } - if (day < 1 || day > 31) { - return false; - } - if ((month == 4 || month == 6 || month == 9 || month == 11) && - (day == 31)) { - return false; - } - if (month == 2) { - var leap = (year % 4 == 0 && - (year % 100 != 0 || year % 400 == 0)); - if (day>29 || (day == 29 && !leap)) { - return false; - } - } - return true; - }]]> - - - - - - + msg="errors.range"/> - - - - - + depends="float" + msg="errors.range"/> - 0)) { - - var iMin = parseInt(oRange[x][2]("min")); - var iMax = parseInt(oRange[x][2]("max")); - var iValue = parseInt(field.value); - if (!(iValue >= iMin && iValue <= iMax)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oRange[x][1]; - isValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - }]]> - - - - - + depends="double" + msg="errors.range"/> - 0)) { - - var fMin = parseFloat(oRange[x][2]("min")); - var fMax = parseFloat(oRange[x][2]("max")); - var fValue = parseFloat(field.value); - if (!(fValue >= fMin && fValue <= fMax)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oRange[x][1]; - isValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - }]]> - - - + msg="errors.creditcard"/> - 0)) { - if (!luhnCheck(form[oCreditCard[x][0]].value)) { - if (i == 0) { - focusField = form[oCreditCard[x][0]]; - } - fields[i++] = oCreditCard[x][1]; - bValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - } - /** - * Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl - */ - function luhnCheck(cardNumber) { - if (isLuhnNum(cardNumber)) { - var no_digit = cardNumber.length; - var oddoeven = no_digit & 1; - var sum = 0; - for (var count = 0; count < no_digit; count++) { - var digit = parseInt(cardNumber.charAt(count)); - if (!((count & 1) ^ oddoeven)) { - digit *= 2; - if (digit > 9) digit -= 9; - }; - sum += digit; - }; - if (sum == 0) return false; - if (sum % 10 == 0) return true; - }; - return false; - } - - function isLuhnNum(argvalue) { - argvalue = argvalue.toString(); - if (argvalue.length == 0) { - return false; - } - for (var n = 0; n < argvalue.length; n++) { - if ((argvalue.substring(n, n+1) < "0") || - (argvalue.substring(n,n+1) > "9")) { - return false; - } - } - return true; - }]]> - - - - - + msg="errors.email"/> - 0)) { - if (!checkEmail(form[oEmail[x][0]].value)) { - if (i == 0) { - focusField = form[oEmail[x][0]]; - } - fields[i++] = oEmail[x][1]; - bValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - } + - /** - * Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com), - * http://javascript.internet.com - */ - function checkEmail(emailStr) { - if (emailStr.length == 0) { - return true; - } - var emailPat=/^(.+)@(.+)$/; - var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; - var validChars="\[^\\s" + specialChars + "\]"; - var quotedUser="(\"[^\"]*\")"; - var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/; - var atom=validChars + '+'; - var word="(" + atom + "|" + quotedUser + ")"; - var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); - var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$"); - var matchArray=emailStr.match(emailPat); - if (matchArray == null) { - return false; - } - var user=matchArray[1]; - var domain=matchArray[2]; - if (user.match(userPat) == null) { - return false; - } - var IPArray = domain.match(ipDomainPat); - if (IPArray != null) { - for (var i = 1; i <= 4; i++) { - if (IPArray[i] > 255) { - return false; - } - } - return true; - } - var domainArray=domain.match(domainPat); - if (domainArray == null) { - return false; - } - var atomPat=new RegExp(atom,"g"); - var domArr=domain.match(atomPat); - var len=domArr.length; - if ((domArr[domArr.length-1].length < 2) || - (domArr[domArr.length-1].length > 3)) { - return false; - } - if (len < 2) { - return false; - } - return true; - }]]> - + + - -