From: <th...@us...> - 2002-09-06 20:28:48
|
Update of /cvsroot/struts/artimus/WEB-INF/src/conf In directory usw-pr-cvs1:/tmp/cvs-serv7081 Modified Files: web.xml validation.xml struts-config.xml Log Message: Update to use Validator 2002/07/02 (1.0) rather than the (proposed) 1.0.1 version Index: web.xml =================================================================== RCS file: /cvsroot/struts/artimus/WEB-INF/src/conf/web.xml,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** web.xml 14 Aug 2002 21:11:56 -0000 1.1.1.1 --- web.xml 6 Sep 2002 20:28:45 -0000 1.2 *************** *** 48,55 **** </servlet> ! <!-- Standard Validator 1.0 Configuration --> <servlet> <servlet-name>validator</servlet-name> ! <servlet-class>org.apache.struts.validator.ValidatorServlet</servlet-class> <init-param> <param-name>config</param-name> --- 48,55 ---- </servlet> ! <!-- Standard Validator 1.0 (2001/07/02) Configuration --> <servlet> <servlet-name>validator</servlet-name> ! <servlet-class>com.wintecinc.struts.action.ValidatorServlet</servlet-class> <init-param> <param-name>config</param-name> Index: validation.xml =================================================================== RCS file: /cvsroot/struts/artimus/WEB-INF/src/conf/validation.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** validation.xml 26 Aug 2002 12:17:42 -0000 1.2 --- validation.xml 6 Sep 2002 20:28:45 -0000 1.3 *************** *** 1,9 **** <form-validation> <global> - <constant name="phone" value="^\(?(\d{3})\)?[-| ]?(\d{3})[-| ]?(\d{4})$" /> - <constant name="zip" value="^\d{5}\d*$" /> - <validator name="required" ! classname="org.apache.struts.validator.util.StrutsValidator" method="validateRequired" msg="errors.required"> --- 1,14 ---- + <!-- + @author David Winterfeldt + @author Ted Husted + @version $Revision$ $Date$ + @copyright Copyright (c) 2001 Apache Software Foundation + @license $URL http://www.apache.org/LICENSE + --> + <form-validation> <global> <validator name="required" ! classname="com.wintecinc.struts.validation.StrutsValidator" method="validateRequired" msg="errors.required"> *************** *** 36,616 **** </javascript> </validator> - - <validator name="mask" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateMask" - depends="required" - msg="errors.invalid"> - <javascript><![CDATA[ - function validateMask(form) { - var bValid = true; - var focusField = null; - var i = 0; - var fields = new Array(); - oMasked = new mask(); - - for (x in oMasked) { - if ((form[oMasked[x][0]].type == 'text' || form[oMasked[x][0]].type == 'textarea' || form[oMasked[x][0]].type == 'password') && form[oMasked[x][0]].value.length > 0) { - if (!matchPattern(form[oMasked[x][0]].value, oMasked[x][2]("mask"))) { - if (i == 0) - focusField = form[oMasked[x][0]]; - - fields[i++] = oMasked[x][1]; - bValid = false; - } - } - } - - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - - return bValid; - } - - function matchPattern(value, mask) { - var bMatched = mask.exec(value); - - if(!bMatched) { - return false; - } - - return true; - }]]> - </javascript> - </validator> - - <validator name="byte" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateByte" - depends="required" - msg="errors.byte"> - <javascript><![CDATA[ - function validateByte(form) { - var bValid = true; - var focusField = null; - var i = 0; - var fields = new Array(); - oByte = new byte(); - - for (x in oByte) { - if ((form[oByte[x][0]].type == 'text' || form[oByte[x][0]].type == 'textarea' || form[oByte[x][0]].type == 'select' || form[oByte[x][0]].type == 'radio') && form[oByte[x][0]].value.length > 0) { - var iValue = parseInt(form[oByte[x][0]].value); - - if (!iValue || !(iValue >= -128 && iValue <= 127)) { - if (i == 0) - focusField = form[oByte[x][0]]; - - fields[i++] = oByte[x][1]; - - bValid = false; - } - } - } - - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - - return bValid; - }]]> - </javascript> - </validator> - - <validator name="short" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateShort" - depends="required" - msg="errors.short"> - <javascript><![CDATA[ - function validateShort(form) { - var bValid = true; - var focusField = null; - var i = 0; - var fields = new Array(); - oShort = new short(); - - for (x in oShort) { - if ((form[oShort[x][0]].type == 'text' || form[oShort[x][0]].type == 'textarea' || form[oShort[x][0]].type == 'select' || form[oShort[x][0]].type == 'radio') && form[oShort[x][0]].value.length > 0) { - var iValue = parseInt(form[oShort[x][0]].value); - - if (!iValue || !(iValue >= -32768 && iValue <= 32767)) { - if (i == 0) - focusField = form[oShort[x][0]]; - - fields[i++] = oShort[x][1]; - - bValid = false; - } - } - } - - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - - return bValid; - }]]> - </javascript> - </validator> - - <validator name="integer" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateInteger" - depends="required" - msg="errors.integer"> - <javascript><![CDATA[ - function validateInteger(form) { - var bValid = true; - var focusField = null; - var i = 0; - var fields = new Array(); - oInteger = new integer(); - - for (x in oInteger) { - if ((form[oInteger[x][0]].type == 'text' || form[oInteger[x][0]].type == 'textarea' || form[oInteger[x][0]].type == 'select' || form[oInteger[x][0]].type == 'radio') && form[oInteger[x][0]].value.length > 0) { - var iValue = parseInt(form[oInteger[x][0]].value); - - if (!iValue || !(iValue >= -2147483648 && iValue <= 2147483647)) { - if (i == 0) - focusField = form[oInteger[x][0]]; - - fields[i++] = oInteger[x][1]; - - bValid = false; - } - } - } - - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - - return bValid; - }]]> - </javascript> - </validator> - - <validator name="long" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateLong" - depends="required" - msg="errors.long" - /> - <validator name="float" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateFloat" - depends="required" - msg="errors.float"> - <javascript><![CDATA[ - function validateFloat(form) { - var bValid = true; - var focusField = null; - var i = 0; - var fields = new Array(); - oFloat = new float(); - - for (x in oFloat) { - if ((form[oFloat[x][0]].type == 'text' || form[oFloat[x][0]].type == 'textarea' || form[oFloat[x][0]].type == 'select' || form[oFloat[x][0]].type == 'radio') && form[oFloat[x][0]].value.length > 0) { - var iValue = parseFloat(form[oFloat[x][0]].value); - - if (!iValue) { - if (i == 0) - focusField = form[oFloat[x][0]]; - - fields[i++] = oFloat[x][1]; - - bValid = false; - } - } - } - - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - - return bValid; - }]]> - </javascript> - </validator> - - <validator name="double" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateDouble" - depends="required" - msg="errors.double"/> - - <validator name="date" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateDate" - depends="required" - msg="errors.date"> - <javascript><![CDATA[ - function validateDate(form) { - var bValid = true; - var focusField = null; - var i = 0; - var fields = new Array(); - oDate = new date(); - - for (x in oDate) { - var value = form[oDate[x][0]].value; - var datePattern = oDate[x][2]("datePatternStrict"); - - if ((form[oDate[x][0]].type == 'text' || form[oDate[x][0]].type == 'textarea') && value.length > 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; - }]]> - </javascript> - </validator> - - <validator name="range" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateRange" - depends="required,integer" - msg="errors.range"> - <javascript><![CDATA[ - function validateRange(form) { - var bValid = true; - var focusField = null; - var i = 0; - var fields = new Array(); - oRange = new range(); - - for (x in oRange) { - if ((form[oRange[x][0]].type == 'text' || form[oRange[x][0]].type == 'textarea') && form[oRange[x][0]].value.length > 0) { - var iMin = parseInt(oRange[x][2]("min")); - var iMax = parseInt(oRange[x][2]("max")); - var iValue = parseInt(form[oRange[x][0]].value); - - if (!(iValue >= iMin && iValue <= iMax)) { - if (i == 0) - focusField = form[oRange[x][0]]; - - fields[i++] = oRange[x][1]; - - bValid = false; - } - } - } - - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - - return bValid; - }]]> - </javascript> - </validator> - - <validator name="creditCard" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateCreditCard" - depends="required" - msg="errors.creditcard"> - <javascript><![CDATA[ - function validateCreditCard(form) { - var bValid = true; - var focusField = null; - var i = 0; - var fields = new Array(); - oCreditCard = new creditCard(); - - for (x in oCreditCard) { - if ((form[oCreditCard[x][0]].type == 'text' || form[oCreditCard[x][0]].type == 'textarea') && form[oCreditCard[x][0]].value.length > 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; - }]]> - </javascript> - </validator> - - <validator name="email" - classname="org.apache.struts.validator.util.StrutsValidator" - method="validateEmail" - depends="required" - msg="errors.email"> - <javascript><![CDATA[ - function validateEmail(form) { - var bValid = true; - var focusField = null; - var i = 0; - var fields = new Array(); - oEmail = new email(); - - for (x in oEmail) { - if ((form[oEmail[x][0]].type == 'text' || form[oEmail[x][0]].type == 'textarea') && form[oEmail[x][0]].value.length > 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 (sta...@ho...), - * 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; - }]]> - </javascript> - </validator> </global> ! <formset> <form name="articleForm"> --- 41,47 ---- </javascript> </validator> </global> ! <formset> <form name="articleForm"> Index: struts-config.xml =================================================================== RCS file: /cvsroot/struts/artimus/WEB-INF/src/conf/struts-config.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** struts-config.xml 26 Aug 2002 12:17:42 -0000 1.2 --- struts-config.xml 6 Sep 2002 20:28:45 -0000 1.3 *************** *** 56,60 **** <form-bean name="articleForm" ! type="org.apache.artimus.article.struts.ArticleForm"/> </form-beans> --- 56,60 ---- <form-bean name="articleForm" ! type="org.apache.artimus.struts.Form"/> </form-beans> |