You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by jh...@apache.org on 2002/06/25 03:01:14 UTC
cvs commit: jakarta-struts/conf/share validator-rules.xml
jholmes 2002/06/24 18:01:14
Modified: conf/share validator-rules.xml
Log:
Update comments to reflect correct parameters for struts-config.xml
PR: Bugzilla #10163
Revision Changes Path
1.3 +1 -797 jakarta-struts/conf/share/validator-rules.xml
Index: validator-rules.xml
===================================================================
RCS file: /home/cvs/jakarta-struts/conf/share/validator-rules.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- validator-rules.xml 18 Mar 2002 03:14:14 -0000 1.2
+++ validator-rules.xml 25 Jun 2002 01:01:13 -0000 1.3
@@ -1,797 +1 @@
-<!--
- This file contains the default Struts Validator pluggable validator
- definitions. It should be placed somewhere under /WEB-INF and
- referenced in the struts-config.xml under the plug-in element
- for the ValidatorPlugIn.
-
- <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
- <set-property property="pathname" value="/WEB-INF/validator-rules.xml"/>
- <set-property property="pathname" value="/WEB-INF/validation.xml"/>
- </plug-in>
-
- These are the default error messages associated with
- each validator defined in this file. They should be
- added to your projects ApplicationResources.properties
- file or you can associate new ones by modifying the
- pluggable validators msg attributes in this file.
-
- # Struts Validator Error Messages
- errors.required={0} is required.
- errors.minlength={0} can not be less than {1} characters.
- errors.maxlength={0} can not be greater than {1} characters.
- errors.invalid={0} is invalid.
-
- errors.byte={0} must be an byte.
- errors.short={0} must be an short.
- errors.integer={0} must be an integer.
- errors.long={0} must be an long.
- errors.float={0} must be an float.
- errors.double={0} must be an double.
-
- errors.date={0} is not a date.
- errors.range={0} is not in the range {1} through {2}.
- errors.creditcard={0} is not a valid credit card number.
- errors.email={0} is an invalid e-mail address.
-
--->
-<form-validation>
- <global>
- <validator name="required"
- classname="org.apache.struts.util.StrutsValidator"
- method="validateRequired"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- msg="errors.required">
- <javascript><![CDATA[
- function validateRequired(form) {
- var bValid = true;
- var focusField = null;
- var i = 0;
- var fields = new Array();
- oRequired = new required();
-
- for (x in oRequired) {
- if ((form[oRequired[x][0]].type == 'text' || form[oRequired[x][0]].type == 'textarea' || form[oRequired[x][0]].type == 'select-one' || form[oRequired[x][0]].type == 'radio' || form[oRequired[x][0]].type == 'password') && form[oRequired[x][0]].value == '') {
- if (i == 0)
- focusField = form[oRequired[x][0]];
-
- fields[i++] = oRequired[x][1];
-
- bValid = false;
- }
- }
-
- if (fields.length > 0) {
- focusField.focus();
- alert(fields.join('\n'));
- }
-
- return bValid;
- }]]>
- </javascript>
- </validator>
-
- <validator name="minlength"
- classname="org.apache.struts.util.StrutsValidator"
- method="validateMinLength"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- depends="required"
- msg="errors.minlength">
- <javascript><![CDATA[
- function validateMinLength(form) {
- var bValid = true;
- var focusField = null;
- var i = 0;
- var fields = new Array();
- oMinLength = new minlength();
-
- for (x in oMinLength) {
- if (form[oMinLength[x][0]].type == 'text' || form[oMinLength[x][0]].type == 'textarea') {
- var iMin = parseInt(oMinLength[x][2]("minlength"));
-
- if (!(form[oMinLength[x][0]].value.length >= iMin)) {
- if (i == 0)
- focusField = form[oMinLength[x][0]];
-
- fields[i++] = oMinLength[x][1];
-
- bValid = false;
- }
- }
- }
-
- if (fields.length > 0) {
- focusField.focus();
- alert(fields.join('\n'));
- }
-
- return bValid;
- }]]>
- </javascript>
- </validator>
-
- <validator name="maxlength"
- classname="org.apache.struts.util.StrutsValidator"
- method="validateMaxLength"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- depends="required"
- msg="errors.maxlength">
- <javascript><![CDATA[
- function validateMaxLength(form) {
- var bValid = true;
- var focusField = null;
- var i = 0;
- var fields = new Array();
- oMaxLength = new maxlength();
-
- for (x in oMaxLength) {
- if (form[oMaxLength[x][0]].type == 'text' || form[oMaxLength[x][0]].type == 'textarea') {
- var iMax = parseInt(oMaxLength[x][2]("maxlength"));
-
- if (!(form[oMaxLength[x][0]].value.length <= iMax)) {
- if (i == 0)
- focusField = form[oMaxLength[x][0]];
-
- fields[i++] = oMaxLength[x][1];
-
- bValid = false;
- }
- }
- }
-
- if (fields.length > 0) {
- focusField.focus();
- alert(fields.join('\n'));
- }
-
- return bValid;
- }]]>
- </javascript>
- </validator>
-
- <validator name="mask"
- classname="org.apache.struts.util.StrutsValidator"
- method="validateMask"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- 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.util.StrutsValidator"
- method="validateByte"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- depends="required"
- msg="errors.byte"
- jsFunctionName="ByteValidations">
- <javascript><![CDATA[
- function validateByte(form) {
- var bValid = true;
- var focusField = null;
- var i = 0;
- var fields = new Array();
- oByte = new ByteValidations();
-
- for (x in oByte) {
- if ((form[oByte[x][0]].type == 'text' || form[oByte[x][0]].type == 'textarea' || form[oByte[x][0]].type == 'select-one' || 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.util.StrutsValidator"
- method="validateShort"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- depends="required"
- msg="errors.short"
- jsFunctionName="ShortValidations">
- <javascript><![CDATA[
- function validateShort(form) {
- var bValid = true;
- var focusField = null;
- var i = 0;
- var fields = new Array();
- oShort = new ShortValidations();
-
- for (x in oShort) {
- if ((form[oShort[x][0]].type == 'text' || form[oShort[x][0]].type == 'textarea' || form[oShort[x][0]].type == 'select-one' || 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.util.StrutsValidator"
- method="validateInteger"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- depends="required"
- msg="errors.integer"
- jsFunctionName="IntegerValidations">
- <javascript><![CDATA[
- function validateInteger(form) {
- var bValid = true;
- var focusField = null;
- var i = 0;
- var fields = new Array();
- oInteger = new IntegerValidations();
-
- for (x in oInteger) {
- if ((form[oInteger[x][0]].type == 'text' || form[oInteger[x][0]].type == 'textarea' || form[oInteger[x][0]].type == 'select-one' || 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.util.StrutsValidator"
- method="validateLong"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- depends="required"
- msg="errors.long"
- />
- <validator name="float"
- classname="org.apache.struts.util.StrutsValidator"
- method="validateFloat"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- depends="required"
- msg="errors.float"
- jsFunctionName="FloatValidations">
- <javascript><![CDATA[
- function validateFloat(form) {
- var bValid = true;
- var focusField = null;
- var i = 0;
- var fields = new Array();
- oFloat = new FloatValidations();
-
- for (x in oFloat) {
- if ((form[oFloat[x][0]].type == 'text' || form[oFloat[x][0]].type == 'textarea' || form[oFloat[x][0]].type == 'select-one' || 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.util.StrutsValidator"
- method="validateDouble"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- depends="required"
- msg="errors.double"/>
-
- <validator name="date"
- classname="org.apache.struts.util.StrutsValidator"
- method="validateDate"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- depends="required"
- msg="errors.date"
- jsFunctionName="DateValidations">
- <javascript><![CDATA[
- function validateDate(form) {
- var bValid = true;
- var focusField = null;
- var i = 0;
- var fields = new Array();
- oDate = new DateValidations();
-
- 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.util.StrutsValidator"
- method="validateRange"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- 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.util.StrutsValidator"
- method="validateCreditCard"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- 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.util.StrutsValidator"
- method="validateEmail"
- methodParams="java.lang.Object,
- org.apache.commons.validator.ValidatorAction,
- org.apache.commons.validator.Field,
- org.apache.struts.action.ActionErrors,
- javax.servlet.http.HttpServletRequest"
- 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 (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;
- }]]>
- </javascript>
- </validator>
- </global>
-</form-validation>
+<!--
This file contains the default Struts Validator pluggable validator
definitions. It should be placed somewhere under /WEB-INF and
referenced in the struts-config.xml under the plug-in element
for the ValidatorPlugIn.
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>
These are the default error messages associated with
each validator defined in this file. They should be
added to your projects ApplicationResources.properties
file or you can associate new ones by modifying the
pluggable validators msg attributes in this file.
# Struts Validator Error Messages
errors.required={0} is required.
errors.minlength={0} can not be less than {1} characters.
errors.maxlength={0} can not be greater than {1} characters.
errors.invalid={0} is invalid.
errors.byte={0} must be an byte.
errors.short={0} must be an short.
errors.integer={0} must be an integer.
errors.long={0} must be an long.
errors.float={0} must be an float.
errors.double={0} must be an double.
errors.date={0} is not a date.
errors.range={0} is not in the range {1} through {2}.
errors.creditcard={0} is not a valid credit card number.
errors.email={0} is an invalid e-mail address.
-->
<form-validation>
<global>
<validator name="required"
classname="org.apache.struts.util.StrutsValidator"
method="validateRequired"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
msg="errors.required">
<javascript><![CDATA[
function validateRequired(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRequired = new required();
for (x in oRequired) {
if ((form[oRequired[x][0]].type == 'text' || form[oRequired[x][0]].type == 'textarea' || form[oRequired[x][0]].type == 'select-one' || form[oRequired[x][0]].type == 'radio' || form[oRequired[x][0]].type == 'password') && form[oRequired[x][0]].value == '') {
if (i == 0)
focusField = form[oRequired[x][0]];
fields[i++] = oRequired[x][1];
bValid = false;
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}]]>
</javascript>
</validator>
<validator name="minlength"
classname="org.apache.struts.util.StrutsValidator"
method="validateMinLength"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required"
msg="errors.minlength">
<javascript><![CDATA[
function validateMinLength(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oMinLength = new minlength();
for (x in oMinLength) {
if (form[oMinLength[x][0]].type == 'text' || form[oMinLength[x][0]].type == 'textarea') {
var iMin = parseInt(oMinLength[x][2]("minlength"));
if (!(form[oMinLength[x][0]].value.length >= iMin)) {
if (i == 0)
focusField = form[oMinLength[x][0]];
fields[i++] = oMinLength[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}]]>
</javascript>
</validator>
<validator name="maxlength"
classname="org.apache.struts.util.StrutsValidator"
method="validateMaxLength"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required"
msg="errors.maxlength">
<javascript><![CDATA[
function validateMaxLength(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oMaxLength = new maxlength();
for (x in oMaxLength) {
if (form[oMaxLength[x][0]].type == 'text' || form[oMaxLength[x][0]].type == 'textarea') {
var iMax = parseInt(oMaxLength[x][2]("maxlength"));
if (!(form[oMaxLength[x][0]].value.length <= iMax)) {
if (i == 0)
focusField = form[oMaxLength[x][0]];
fields[i++] = oMaxLength[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}]]>
</javascript>
</validator>
<validator name="mask"
classname="org.apache.struts.util.StrutsValidator"
method="validateMask"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
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.util.StrutsValidator"
method="validateByte"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required"
msg="errors.byte"
jsFunctionName="ByteValidations">
<javascript><![CDATA[
function validateByte(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oByte = new ByteValidations();
for (x in oByte) {
if ((form[oByte[x][0]].type == 'text' || form[oByte[x][0]].type == 'textarea' || form[oByte[x][0]].type == 'select-one' || 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.util.StrutsValidator"
method="validateShort"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required"
msg="errors.short"
jsFunctionName="ShortValidations">
<javascript><![CDATA[
function validateShort(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oShort = new ShortValidations();
for (x in oShort) {
if ((form[oShort[x][0]].type == 'text' || form[oShort[x][0]].type == 'textarea' || form[oShort[x][0]].type == 'select-one' || 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.util.StrutsValidator"
method="validateInteger"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required"
msg="errors.integer"
jsFunctionName="IntegerValidations">
<javascript><![CDATA[
function validateInteger(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oInteger = new IntegerValidations();
for (x in oInteger) {
if ((form[oInteger[x][0]].type == 'text' || form[oInteger[x][0]].type == 'textarea' || form[oInteger[x][0]].type == 'select-one' || 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.util.StrutsValidator"
method="validateLong"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required"
msg="errors.long"
/>
<validator name="float"
classname="org.apache.struts.util.StrutsValidator"
method="validateFloat"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required"
msg="errors.float"
jsFunctionName="FloatValidations">
<javascript><![CDATA[
function validateFloat(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oFloat = new FloatValidations();
for (x in oFloat) {
if ((form[oFloat[x][0]].type == 'text' || form[oFloat[x][0]].type == 'textarea' || form[oFloat[x][0]].type == 'select-one' || 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.util.StrutsValidator"
method="validateDouble"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required"
msg="errors.double"/>
<validator name="date"
classname="org.apache.struts.util.StrutsValidator"
method="validateDate"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required"
msg="errors.date"
jsFunctionName="DateValidations">
<javascript><![CDATA[
function validateDate(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oDate = new DateValidations();
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.util.StrutsValidator"
method="validateRange"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
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.util.StrutsValidator"
method="validateCreditCard"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
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.util.StrutsValidator"
method="validateEmail"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
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 (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;
}]]>
</javascript>
</validator>
</global>
</form-validation>
\ No newline at end of file
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-struts/conf/share validator-rules.xml
Posted by James Holmes <jh...@yahoo.com>.
Ok...well no big deal...checked the version in cvs and
it's fine. Just seems there's lots of files in CVS
that have Mac newlines.
-james
--- James Holmes <jh...@yahoo.com> wrote:
> Hmm, not sure why this commit says this. I just
> changed something in the comments.
>
> This file has weird newline characters. I've
> actually
> seen this in many files. Anyone else seen this?
>
> -james
> james@jamesholmes.com
> http://www.jamesholmes.com/struts/
>
>
> --- jholmes@apache.org wrote:
> > jholmes 2002/06/24 18:01:14
> >
> > Modified: conf/share validator-rules.xml
> > Log:
> > Update comments to reflect correct parameters
> for
> > struts-config.xml
> >
> > PR: Bugzilla #10163
> >
> > Revision Changes Path
> > 1.3 +1 -797
> > jakarta-struts/conf/share/validator-rules.xml
> >
> > Index: validator-rules.xml
> >
> >
>
===================================================================
> > RCS file:
> >
>
/home/cvs/jakarta-struts/conf/share/validator-rules.xml,v
> > retrieving revision 1.2
> > retrieving revision 1.3
> > diff -u -r1.2 -r1.3
> > --- validator-rules.xml 18 Mar 2002 03:14:14
> -0000
> > 1.2
> > +++ validator-rules.xml 25 Jun 2002 01:01:13
> -0000
> > 1.3
> > @@ -1,797 +1 @@
> > -<!--
> > - This file contains the default Struts
> > Validator pluggable validator
> > - definitions. It should be placed somewhere
> > under /WEB-INF and
> > - referenced in the struts-config.xml under
> the
> > plug-in element
> > - for the ValidatorPlugIn.
> > -
> > - <plug-in
> >
>
className="org.apache.struts.validator.ValidatorPlugIn">
> > - <set-property property="pathname"
> > value="/WEB-INF/validator-rules.xml"/>
> > - <set-property property="pathname"
> > value="/WEB-INF/validation.xml"/>
> > - </plug-in>
> > -
> > - These are the default error messages
> > associated with
> > - each validator defined in this file. They
> > should be
> > - added to your projects
> > ApplicationResources.properties
> > - file or you can associate new ones by
> > modifying the
> > - pluggable validators msg attributes in this
> > file.
> > -
> > - # Struts Validator Error Messages
> > - errors.required={0} is required.
> > - errors.minlength={0} can not be less than
> {1}
> > characters.
> > - errors.maxlength={0} can not be greater than
> > {1} characters.
> > - errors.invalid={0} is invalid.
> > -
> > - errors.byte={0} must be an byte.
> > - errors.short={0} must be an short.
> > - errors.integer={0} must be an integer.
> > - errors.long={0} must be an long.
> > - errors.float={0} must be an float.
> > - errors.double={0} must be an double.
> > -
> > - errors.date={0} is not a date.
> > - errors.range={0} is not in the range {1}
> > through {2}.
> > - errors.creditcard={0} is not a valid credit
> > card number.
> > - errors.email={0} is an invalid e-mail
> address.
> > -
> > --->
> > -<form-validation>
> > - <global>
> > - <validator name="required"
> > -
> > classname="org.apache.struts.util.StrutsValidator"
> > - method="validateRequired"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - msg="errors.required">
> > - <javascript><![CDATA[
> > - function validateRequired(form) {
>
> >
>
> >
> > - var bValid = true;
> > - var focusField = null;
> > - var i = 0;
>
> >
>
> >
> > - var fields = new Array();
>
> >
>
> >
> > - oRequired = new required();
>
> >
>
> >
> > -
>
> >
>
> >
> > - for (x in oRequired) {
>
> >
>
> >
> > - if
> > ((form[oRequired[x][0]].type == 'text' ||
> > form[oRequired[x][0]].type == 'textarea' ||
> > form[oRequired[x][0]].type == 'select-one' ||
> > form[oRequired[x][0]].type == 'radio' ||
> > form[oRequired[x][0]].type == 'password') &&
> > form[oRequired[x][0]].value == '') {
> > - if (i == 0)
> > - focusField =
> > form[oRequired[x][0]];
> > -
> > - fields[i++] =
> > oRequired[x][1];
> > -
> > - bValid = false;
>
> >
>
> >
> > - }
>
> >
>
> >
> > - }
>
> >
>
> >
> > -
>
> >
>
> >
> > - if (fields.length > 0) {
> > - focusField.focus();
> > - alert(fields.join('\n'));
>
> >
>
> >
> > - }
>
> >
>
> >
> > -
>
> >
>
> >
> > - return bValid;
>
> >
>
> >
> > - }]]>
> > - </javascript>
> > - </validator>
> > -
> > - <validator name="minlength"
> > -
> > classname="org.apache.struts.util.StrutsValidator"
> > - method="validateMinLength"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - depends="required"
> > - msg="errors.minlength">
> > - <javascript><![CDATA[
> > - function validateMinLength(form) {
>
> >
>
> >
> > - var bValid = true;
> > - var focusField = null;
> > - var i = 0;
>
> >
>
> >
> > - var fields = new Array();
>
> >
>
> >
> > - oMinLength = new minlength();
>
> >
>
> >
> > -
>
> >
>
> >
> > - for (x in oMinLength) {
>
> >
>
> >
> > - if
> > (form[oMinLength[x][0]].type == 'text' ||
> > form[oMinLength[x][0]].type == 'textarea') {
> > - var iMin =
> > parseInt(oMinLength[x][2]("minlength"));
> > -
> > - if
> > (!(form[oMinLength[x][0]].value.length >= iMin)) {
> > - if (i == 0)
> > - focusField =
> > form[oMinLength[x][0]];
> > -
> > - fields[i++] =
> > oMinLength[x][1];
> > -
> > - bValid = false;
>
> >
>
> >
> > - }
>
> >
>
> >
> > - }
>
> >
>
> >
> > - }
>
> >
>
> >
> > -
>
> >
>
> >
> > - if (fields.length > 0) {
> > - focusField.focus();
> > - alert(fields.join('\n'));
>
> >
>
> >
> > - }
>
> >
>
> >
> > -
>
> >
>
> >
> > - return bValid;
>
> >
>
> >
> > - }]]>
> > - </javascript>
> > - </validator>
> > -
> > - <validator name="maxlength"
> > -
> > classname="org.apache.struts.util.StrutsValidator"
> > - method="validateMaxLength"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - depends="required"
> > - msg="errors.maxlength">
> > - <javascript><![CDATA[
> > - function validateMaxLength(form) {
>
> >
>
> >
> > - var bValid = true;
> > - var focusField = null;
> > - var i = 0;
>
> >
>
> >
> > - var fields = new Array();
>
> >
>
> >
> > - oMaxLength = new maxlength();
>
> >
>
> >
> > -
>
> >
>
> >
> > - for (x in oMaxLength) {
>
> >
>
> >
> > - if
> > (form[oMaxLength[x][0]].type == 'text' ||
> > form[oMaxLength[x][0]].type == 'textarea') {
> > - var iMax =
> > parseInt(oMaxLength[x][2]("maxlength"));
> > -
> > - if
> > (!(form[oMaxLength[x][0]].value.length <= iMax)) {
> > - if (i == 0)
> > - focusField =
> > form[oMaxLength[x][0]];
> > -
> > - fields[i++] =
> > oMaxLength[x][1];
> > -
> > - bValid = false;
>
> >
>
> >
> > - }
>
> >
>
> >
> > - }
>
> >
>
> >
> > - }
>
> >
>
> >
> > -
>
> >
>
> >
> > - if (fields.length > 0) {
> > - focusField.focus();
> > - alert(fields.join('\n'));
>
> >
>
> >
> > - }
>
> >
>
> >
> > -
>
> >
>
> >
> > - return bValid;
>
> >
>
> >
> > - }]]>
> > - </javascript>
> > - </validator>
> > -
> > - <validator name="mask"
> > -
> > classname="org.apache.struts.util.StrutsValidator"
> > - method="validateMask"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - 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.util.StrutsValidator"
> > - method="validateByte"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - depends="required"
> > - msg="errors.byte"
> > -
> > jsFunctionName="ByteValidations">
> > - <javascript><![CDATA[
> > - function validateByte(form) {
> > - var bValid = true;
> > - var focusField = null;
> > - var i = 0;
>
> >
>
> >
> > - var fields = new Array();
>
> >
>
> >
> > - oByte = new ByteValidations();
>
> >
>
> >
> > -
> > - for (x in oByte) {
>
> >
>
> >
> > - if ((form[oByte[x][0]].type
> > == 'text' || form[oByte[x][0]].type == 'textarea'
> ||
> > form[oByte[x][0]].type == 'select-one' ||
> > 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.util.StrutsValidator"
> > - method="validateShort"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - depends="required"
> > - msg="errors.short"
> > -
> > jsFunctionName="ShortValidations">
> > - <javascript><![CDATA[
> > - function validateShort(form) {
> > - var bValid = true;
> > - var focusField = null;
> > - var i = 0;
>
> >
>
> >
> > - var fields = new Array();
>
> >
>
> >
> > - oShort = new
> ShortValidations();
> >
>
> >
> > -
> > - for (x in oShort) {
>
> >
>
> >
> > - if
> ((form[oShort[x][0]].type
> > == 'text' || form[oShort[x][0]].type == 'textarea'
> > || form[oShort[x][0]].type == 'select-one' ||
> > 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.util.StrutsValidator"
> > - method="validateInteger"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - depends="required"
> > - msg="errors.integer"
> > -
> > jsFunctionName="IntegerValidations">
> > - <javascript><![CDATA[
> > - function validateInteger(form) {
> > - var bValid = true;
> > - var focusField = null;
> > - var i = 0;
>
> >
>
> >
> > - var fields = new Array();
>
> >
>
> >
> > - oInteger = new
> > IntegerValidations();
>
> >
> > -
> > - for (x in oInteger) {
>
> >
>
> >
> > - if
> > ((form[oInteger[x][0]].type == 'text' ||
> > form[oInteger[x][0]].type == 'textarea' ||
> > form[oInteger[x][0]].type == 'select-one' ||
> > 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.util.StrutsValidator"
> > - method="validateLong"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - depends="required"
> > - msg="errors.long"
> > - />
> > - <validator name="float"
> > -
> > classname="org.apache.struts.util.StrutsValidator"
> > - method="validateFloat"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - depends="required"
> > - msg="errors.float"
> > -
> > jsFunctionName="FloatValidations">
> > - <javascript><![CDATA[
> > - function validateFloat(form) {
> > - var bValid = true;
> > - var focusField = null;
> > - var i = 0;
>
> >
>
> >
> > - var fields = new Array();
>
> >
>
> >
> > - oFloat = new
> FloatValidations();
> >
>
> >
> > -
> > - for (x in oFloat) {
>
> >
>
> >
> > - if
> ((form[oFloat[x][0]].type
> > == 'text' || form[oFloat[x][0]].type == 'textarea'
> > || form[oFloat[x][0]].type == 'select-one' ||
> > 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.util.StrutsValidator"
> > - method="validateDouble"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - depends="required"
> > - msg="errors.double"/>
> > -
> > - <validator name="date"
> > -
> > classname="org.apache.struts.util.StrutsValidator"
> > - method="validateDate"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - depends="required"
> > - msg="errors.date"
> > -
> > jsFunctionName="DateValidations">
> > - <javascript><![CDATA[
> > - function validateDate(form) {
>
> >
>
> >
>
> >
> > - var bValid = true;
> > - var focusField = null;
>
> >
>
> >
>
> >
> > - var i = 0;
>
> >
>
> >
>
> >
> > - var fields = new Array();
>
> >
>
> >
>
> >
> > - oDate = new DateValidations();
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
> > -
> > - 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.util.StrutsValidator"
> > - method="validateRange"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - 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.util.StrutsValidator"
> > - method="validateCreditCard"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - 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.util.StrutsValidator"
> > - method="validateEmail"
> > -
> methodParams="java.lang.Object,
> > -
> > org.apache.commons.validator.ValidatorAction,
> > -
> > org.apache.commons.validator.Field,
> > -
> > org.apache.struts.action.ActionErrors,
> > -
> > javax.servlet.http.HttpServletRequest"
> > - 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
> > (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;
> > - }]]>
> > - </javascript>
> > - </validator>
> > - </global>
> > -</form-validation>
> > +<!-- This file contains the default Struts
> > Validator pluggable validator definitions. It
> > should be placed somewhere under /WEB-INF and
> > referenced in the struts-config.xml under the
> > plug-in element for the ValidatorPlugIn.
> > <plug-in
> >
>
className="org.apache.struts.validator.ValidatorPlugIn">
> > <set-property property="pathnames"
> > value="/WEB-INF/validator-rules.xml,
>
> >
> > /WEB-INF/validation.xml"/> </plug-in>
> > These are the default error messages associated
> with
> > each validator defined in this file.
> They
> > should be added to your projects
> > ApplicationResources.properties file or
> you
> > can associate new ones by modifying the
> > pluggable validators msg attributes in this file.
>
> > # Struts Validator Error Messages
> > errors.required={0} is required.
> > errors.minlength={0} can not be less than {1}
> > characters. errors.maxlength={0} can not be
> > greater than {1} characters. errors.invalid={0}
> is
> > invalid. errors.byte={0} must be an byte.
> > errors.short={0} must be an short.
> > errors.integer={0} must be an integer.
> > errors.long={0} must be an long.
> errors.float={0}
> > must be an float. errors.double={0} must be an
> > double. errors.date={0} is not a date.
> > errors.range={0} is not in the range {1} through
> > {2}. errors.creditcard={0} is not a valid credit
> > card number. errors.email={0} is an invalid
> e-mail
> > address.--><form-validation> <global>
> > <validator name="required"
> > classname="org.apache.struts.util.StrutsValidator"
>
> > method="validateRequired"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > msg="errors.required">
> > <javascript><![CDATA[ function
> > validateRequired(form) {
>
> >
>
> > var bValid = true; var
> > focusField = null; var i = 0;
>
> >
>
> > var
> > fields = new Array();
>
> >
>
> > oRequired = new required();
>
> >
>
> >
>
> >
>
> > for (x in oRequired) {
>
> >
>
> > if
> > ((form[oRequired[x][0]].type == 'text' ||
> > form[oRequired[x][0]].type == 'textarea' ||
> > form[oRequired[x][0]].type == 'select-one' ||
> > form[oRequired[x][0]].type == 'radio' ||
> > form[oRequired[x][0]].type == 'password') &&
> > form[oRequired[x][0]].value == '') {
>
> > if (i == 0)
> > focusField = form[oRequired[x][0]];
>
> > fields[i++] =
> > oRequired[x][1];
>
> > bValid = false;
>
> >
>
> > }
>
> >
>
> > }
>
> >
>
> >
>
> >
>
> > if
> > (fields.length > 0) {
> > focusField.focus();
> > alert(fields.join('\n'));
>
> >
>
> > }
>
> >
>
> >
>
> >
>
> > return bValid;
>
> >
>
> > }]]>
> > </javascript> </validator> <validator
> > name="minlength"
> > classname="org.apache.struts.util.StrutsValidator"
>
> > method="validateMinLength"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > depends="required"
> > msg="errors.minlength">
> > <javascript><![CDATA[ function
> > validateMinLength(form) {
>
> >
>
> > var bValid =
> > true; var focusField = null;
>
> > var i = 0;
>
> >
>
> > var
> fields
> > = new Array();
>
> >
>
> > oMinLength = new
> > minlength();
>
> >
>
> >
>
> >
>
> >
>
> > for (x in oMinLength) {
>
> >
>
> >
>
> > if (form[oMinLength[x][0]].type == 'text' ||
> > form[oMinLength[x][0]].type == 'textarea') {
>
> > var iMin =
> > parseInt(oMinLength[x][2]("minlength"));
>
> > if
> > (!(form[oMinLength[x][0]].value.length >= iMin)) {
>
> > if (i == 0)
>
> > focusField = form[oMinLength[x][0]];
>
> > fields[i++] =
> > oMinLength[x][1];
>
> > bValid = false;
>
> >
>
> > }
>
> >
>
> >
>
> > }
>
> >
>
> > }
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > if (fields.length > 0) {
>
> > focusField.focus();
> > alert(fields.join('\n'));
>
> >
>
> > }
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > return bValid;
>
> >
>
> > }]]>
> > </javascript> </validator> <validator
> > name="maxlength"
> > classname="org.apache.struts.util.StrutsValidator"
>
> > method="validateMaxLength"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > depends="required"
> > msg="errors.maxlength">
> > <javascript><![CDATA[ function
> > validateMaxLength(form) {
>
> >
>
> > var bValid =
> > true; var focusField = null;
>
> > var i = 0;
>
> >
>
> > var
> fields
> > = new Array();
>
> >
>
> > oMaxLength = new
> > maxlength();
>
> >
>
> >
>
> >
>
> >
>
> > for (x in oMaxLength) {
>
> >
>
> >
>
> > if (form[oMaxLength[x][0]].type == 'text' ||
> > form[oMaxLength[x][0]].type == 'textarea') {
>
> > var iMax =
> > parseInt(oMaxLength[x][2]("maxlength"));
>
> > if
> > (!(form[oMaxLength[x][0]].value.length <= iMax)) {
>
> > if (i == 0)
>
> > focusField = form[oMaxLength[x][0]];
>
> > fields[i++] =
> > oMaxLength[x][1];
>
> > bValid = false;
>
> >
>
> > }
>
> >
>
> >
>
> > }
>
> >
>
> > }
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > if (fields.length > 0) {
>
> > focusField.focus();
> > alert(fields.join('\n'));
>
> >
>
> > }
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > return bValid;
>
> >
>
> > }]]>
> > </javascript> </validator> <validator
> > name="mask"
> > classname="org.apache.struts.util.StrutsValidator"
>
> > method="validateMask"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > 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.util.StrutsValidator"
>
> > method="validateByte"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > depends="required"
> > msg="errors.byte"
> > jsFunctionName="ByteValidations">
> > <javascript><![CDATA[ function
> > validateByte(form) { var bValid =
> > true; var focusField = null;
>
> > var i = 0;
>
> >
>
> > var fields = new Array();
>
> >
>
> > oByte = new
> > ByteValidations();
>
> >
>
> > for (x in oByte) {
>
> >
>
> > if ((form[oByte[x][0]].type
> > == 'text' || form[oByte[x][0]].type == 'textarea'
> ||
> > form[oByte[x][0]].type == 'select-one' ||
> > 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.util.StrutsValidator"
>
> > method="validateShort"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > depends="required"
> > msg="errors.short"
> > jsFunctionName="ShortValidations">
> > <javascript><![CDATA[ function
> > validateShort(form) { var bValid =
> > true; var focusField = null;
>
> > var i = 0;
>
> >
>
> > var fields = new Array();
>
> >
>
> > oShort = new
> > ShortValidations();
>
> >
>
> > for (x in oShort) {
>
> >
>
> > if
> > ((form[oShort[x][0]].type == 'text' ||
> > form[oShort[x][0]].type == 'textarea' ||
> > form[oShort[x][0]].type == 'select-one' ||
> > 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.util.StrutsValidator"
>
> > method="validateInteger"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > depends="required"
> > msg="errors.integer"
> > jsFunctionName="IntegerValidations">
> > <javascript><![CDATA[ function
> > validateInteger(form) { var bValid
> =
> > true; var focusField = null;
>
> > var i = 0;
>
> >
>
> > var fields = new Array();
>
> >
>
> > oInteger = new
> > IntegerValidations();
>
> >
>
> > for (x in oInteger) {
>
> >
>
> > if
> > ((form[oInteger[x][0]].type == 'text' ||
> > form[oInteger[x][0]].type == 'textarea' ||
> > form[oInteger[x][0]].type == 'select-one' ||
> > 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.util.StrutsValidator"
>
> > method="validateLong"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > depends="required"
> > msg="errors.long" /> <validator
> > name="float"
> > classname="org.apache.struts.util.StrutsValidator"
>
> > method="validateFloat"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > depends="required"
> > msg="errors.float"
> > jsFunctionName="FloatValidations">
> > <javascript><![CDATA[ function
> > validateFloat(form) { var bValid =
> > true; var focusField = null;
>
> > var i = 0;
>
> >
>
> > var fields = new Array();
>
> >
>
> > oFloat = new
> > FloatValidations();
>
> >
>
> > for (x in oFloat) {
>
> >
>
> > if
> > ((form[oFloat[x][0]].type == 'text' ||
> > form[oFloat[x][0]].type == 'textarea' ||
> > form[oFloat[x][0]].type == 'select-one' ||
> > 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.util.StrutsValidator"
>
> > method="validateDouble"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > depends="required"
> > msg="errors.double"/> <validator name="date"
>
> >
> > classname="org.apache.struts.util.StrutsValidator"
>
> > method="validateDate"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > depends="required"
> > msg="errors.date"
> > jsFunctionName="DateValidations">
> > <javascript><![CDATA[ function
> > validateDate(form) {
>
> >
>
> >
>
> > var bValid = true; var
> focusField
> > = null;
>
> >
>
> > var
> i
> > = 0;
>
> >
>
> >
>
> > var fields = new Array();
>
> >
>
> >
>
> > oDate = new DateValidations();
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > 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.util.StrutsValidator"
>
> > method="validateRange"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > 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.util.StrutsValidator"
>
> > method="validateCreditCard"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > 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.util.StrutsValidator"
>
> > method="validateEmail"
>
> > methodParams="java.lang.Object,
>
> >
> > org.apache.commons.validator.ValidatorAction,
>
> >
> > org.apache.commons.validator.Field,
>
> >
> org.apache.struts.action.ActionErrors,
> >
> > javax.servlet.http.HttpServletRequest"
>
> > 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 (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; }]]>
> > </javascript> </validator>
> > </global></form-validation>
> > \ No newline at end of file
> >
> >
> >
> >
> > --
> > To unsubscribe, e-mail:
> > <ma...@jakarta.apache.org>
> > For additional commands, e-mail:
> > <ma...@jakarta.apache.org>
> >
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! - Official partner of 2002 FIFA World Cup
> http://fifaworldcup.yahoo.com
>
> --
> To unsubscribe, e-mail:
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
>
__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-struts/conf/share validator-rules.xml
Posted by James Holmes <jh...@yahoo.com>.
Hmm, not sure why this commit says this. I just
changed something in the comments.
This file has weird newline characters. I've actually
seen this in many files. Anyone else seen this?
-james
james@jamesholmes.com
http://www.jamesholmes.com/struts/
--- jholmes@apache.org wrote:
> jholmes 2002/06/24 18:01:14
>
> Modified: conf/share validator-rules.xml
> Log:
> Update comments to reflect correct parameters for
> struts-config.xml
>
> PR: Bugzilla #10163
>
> Revision Changes Path
> 1.3 +1 -797
> jakarta-struts/conf/share/validator-rules.xml
>
> Index: validator-rules.xml
>
>
===================================================================
> RCS file:
>
/home/cvs/jakarta-struts/conf/share/validator-rules.xml,v
> retrieving revision 1.2
> retrieving revision 1.3
> diff -u -r1.2 -r1.3
> --- validator-rules.xml 18 Mar 2002 03:14:14 -0000
> 1.2
> +++ validator-rules.xml 25 Jun 2002 01:01:13 -0000
> 1.3
> @@ -1,797 +1 @@
> -<!--
> - This file contains the default Struts
> Validator pluggable validator
> - definitions. It should be placed somewhere
> under /WEB-INF and
> - referenced in the struts-config.xml under the
> plug-in element
> - for the ValidatorPlugIn.
> -
> - <plug-in
>
className="org.apache.struts.validator.ValidatorPlugIn">
> - <set-property property="pathname"
> value="/WEB-INF/validator-rules.xml"/>
> - <set-property property="pathname"
> value="/WEB-INF/validation.xml"/>
> - </plug-in>
> -
> - These are the default error messages
> associated with
> - each validator defined in this file. They
> should be
> - added to your projects
> ApplicationResources.properties
> - file or you can associate new ones by
> modifying the
> - pluggable validators msg attributes in this
> file.
> -
> - # Struts Validator Error Messages
> - errors.required={0} is required.
> - errors.minlength={0} can not be less than {1}
> characters.
> - errors.maxlength={0} can not be greater than
> {1} characters.
> - errors.invalid={0} is invalid.
> -
> - errors.byte={0} must be an byte.
> - errors.short={0} must be an short.
> - errors.integer={0} must be an integer.
> - errors.long={0} must be an long.
> - errors.float={0} must be an float.
> - errors.double={0} must be an double.
> -
> - errors.date={0} is not a date.
> - errors.range={0} is not in the range {1}
> through {2}.
> - errors.creditcard={0} is not a valid credit
> card number.
> - errors.email={0} is an invalid e-mail address.
> -
> --->
> -<form-validation>
> - <global>
> - <validator name="required"
> -
> classname="org.apache.struts.util.StrutsValidator"
> - method="validateRequired"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - msg="errors.required">
> - <javascript><![CDATA[
> - function validateRequired(form) {
>
>
> - var bValid = true;
> - var focusField = null;
> - var i = 0;
>
>
> - var fields = new Array();
>
>
> - oRequired = new required();
>
>
> -
>
>
> - for (x in oRequired) {
>
>
> - if
> ((form[oRequired[x][0]].type == 'text' ||
> form[oRequired[x][0]].type == 'textarea' ||
> form[oRequired[x][0]].type == 'select-one' ||
> form[oRequired[x][0]].type == 'radio' ||
> form[oRequired[x][0]].type == 'password') &&
> form[oRequired[x][0]].value == '') {
> - if (i == 0)
> - focusField =
> form[oRequired[x][0]];
> -
> - fields[i++] =
> oRequired[x][1];
> -
> - bValid = false;
>
>
> - }
>
>
> - }
>
>
> -
>
>
> - if (fields.length > 0) {
> - focusField.focus();
> - alert(fields.join('\n'));
>
>
> - }
>
>
> -
>
>
> - return bValid;
>
>
> - }]]>
> - </javascript>
> - </validator>
> -
> - <validator name="minlength"
> -
> classname="org.apache.struts.util.StrutsValidator"
> - method="validateMinLength"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - depends="required"
> - msg="errors.minlength">
> - <javascript><![CDATA[
> - function validateMinLength(form) {
>
>
> - var bValid = true;
> - var focusField = null;
> - var i = 0;
>
>
> - var fields = new Array();
>
>
> - oMinLength = new minlength();
>
>
> -
>
>
> - for (x in oMinLength) {
>
>
> - if
> (form[oMinLength[x][0]].type == 'text' ||
> form[oMinLength[x][0]].type == 'textarea') {
> - var iMin =
> parseInt(oMinLength[x][2]("minlength"));
> -
> - if
> (!(form[oMinLength[x][0]].value.length >= iMin)) {
> - if (i == 0)
> - focusField =
> form[oMinLength[x][0]];
> -
> - fields[i++] =
> oMinLength[x][1];
> -
> - bValid = false;
>
>
> - }
>
>
> - }
>
>
> - }
>
>
> -
>
>
> - if (fields.length > 0) {
> - focusField.focus();
> - alert(fields.join('\n'));
>
>
> - }
>
>
> -
>
>
> - return bValid;
>
>
> - }]]>
> - </javascript>
> - </validator>
> -
> - <validator name="maxlength"
> -
> classname="org.apache.struts.util.StrutsValidator"
> - method="validateMaxLength"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - depends="required"
> - msg="errors.maxlength">
> - <javascript><![CDATA[
> - function validateMaxLength(form) {
>
>
> - var bValid = true;
> - var focusField = null;
> - var i = 0;
>
>
> - var fields = new Array();
>
>
> - oMaxLength = new maxlength();
>
>
> -
>
>
> - for (x in oMaxLength) {
>
>
> - if
> (form[oMaxLength[x][0]].type == 'text' ||
> form[oMaxLength[x][0]].type == 'textarea') {
> - var iMax =
> parseInt(oMaxLength[x][2]("maxlength"));
> -
> - if
> (!(form[oMaxLength[x][0]].value.length <= iMax)) {
> - if (i == 0)
> - focusField =
> form[oMaxLength[x][0]];
> -
> - fields[i++] =
> oMaxLength[x][1];
> -
> - bValid = false;
>
>
> - }
>
>
> - }
>
>
> - }
>
>
> -
>
>
> - if (fields.length > 0) {
> - focusField.focus();
> - alert(fields.join('\n'));
>
>
> - }
>
>
> -
>
>
> - return bValid;
>
>
> - }]]>
> - </javascript>
> - </validator>
> -
> - <validator name="mask"
> -
> classname="org.apache.struts.util.StrutsValidator"
> - method="validateMask"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - 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.util.StrutsValidator"
> - method="validateByte"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - depends="required"
> - msg="errors.byte"
> -
> jsFunctionName="ByteValidations">
> - <javascript><![CDATA[
> - function validateByte(form) {
> - var bValid = true;
> - var focusField = null;
> - var i = 0;
>
>
> - var fields = new Array();
>
>
> - oByte = new ByteValidations();
>
>
> -
> - for (x in oByte) {
>
>
> - if ((form[oByte[x][0]].type
> == 'text' || form[oByte[x][0]].type == 'textarea' ||
> form[oByte[x][0]].type == 'select-one' ||
> 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.util.StrutsValidator"
> - method="validateShort"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - depends="required"
> - msg="errors.short"
> -
> jsFunctionName="ShortValidations">
> - <javascript><![CDATA[
> - function validateShort(form) {
> - var bValid = true;
> - var focusField = null;
> - var i = 0;
>
>
> - var fields = new Array();
>
>
> - oShort = new ShortValidations();
>
>
> -
> - for (x in oShort) {
>
>
> - if ((form[oShort[x][0]].type
> == 'text' || form[oShort[x][0]].type == 'textarea'
> || form[oShort[x][0]].type == 'select-one' ||
> 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.util.StrutsValidator"
> - method="validateInteger"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - depends="required"
> - msg="errors.integer"
> -
> jsFunctionName="IntegerValidations">
> - <javascript><![CDATA[
> - function validateInteger(form) {
> - var bValid = true;
> - var focusField = null;
> - var i = 0;
>
>
> - var fields = new Array();
>
>
> - oInteger = new
> IntegerValidations();
>
> -
> - for (x in oInteger) {
>
>
> - if
> ((form[oInteger[x][0]].type == 'text' ||
> form[oInteger[x][0]].type == 'textarea' ||
> form[oInteger[x][0]].type == 'select-one' ||
> 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.util.StrutsValidator"
> - method="validateLong"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - depends="required"
> - msg="errors.long"
> - />
> - <validator name="float"
> -
> classname="org.apache.struts.util.StrutsValidator"
> - method="validateFloat"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - depends="required"
> - msg="errors.float"
> -
> jsFunctionName="FloatValidations">
> - <javascript><![CDATA[
> - function validateFloat(form) {
> - var bValid = true;
> - var focusField = null;
> - var i = 0;
>
>
> - var fields = new Array();
>
>
> - oFloat = new FloatValidations();
>
>
> -
> - for (x in oFloat) {
>
>
> - if ((form[oFloat[x][0]].type
> == 'text' || form[oFloat[x][0]].type == 'textarea'
> || form[oFloat[x][0]].type == 'select-one' ||
> 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.util.StrutsValidator"
> - method="validateDouble"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - depends="required"
> - msg="errors.double"/>
> -
> - <validator name="date"
> -
> classname="org.apache.struts.util.StrutsValidator"
> - method="validateDate"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - depends="required"
> - msg="errors.date"
> -
> jsFunctionName="DateValidations">
> - <javascript><![CDATA[
> - function validateDate(form) {
>
>
>
> - var bValid = true;
> - var focusField = null;
>
>
>
> - var i = 0;
>
>
>
> - var fields = new Array();
>
>
>
> - oDate = new DateValidations();
>
>
>
>
>
>
> -
> - 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.util.StrutsValidator"
> - method="validateRange"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - 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.util.StrutsValidator"
> - method="validateCreditCard"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - 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.util.StrutsValidator"
> - method="validateEmail"
> - methodParams="java.lang.Object,
> -
> org.apache.commons.validator.ValidatorAction,
> -
> org.apache.commons.validator.Field,
> -
> org.apache.struts.action.ActionErrors,
> -
> javax.servlet.http.HttpServletRequest"
> - 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
> (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;
> - }]]>
> - </javascript>
> - </validator>
> - </global>
> -</form-validation>
> +<!-- This file contains the default Struts
> Validator pluggable validator definitions. It
> should be placed somewhere under /WEB-INF and
> referenced in the struts-config.xml under the
> plug-in element for the ValidatorPlugIn.
> <plug-in
>
className="org.apache.struts.validator.ValidatorPlugIn">
> <set-property property="pathnames"
> value="/WEB-INF/validator-rules.xml,
>
> /WEB-INF/validation.xml"/> </plug-in>
> These are the default error messages associated with
> each validator defined in this file. They
> should be added to your projects
> ApplicationResources.properties file or you
> can associate new ones by modifying the
> pluggable validators msg attributes in this file.
> # Struts Validator Error Messages
> errors.required={0} is required.
> errors.minlength={0} can not be less than {1}
> characters. errors.maxlength={0} can not be
> greater than {1} characters. errors.invalid={0} is
> invalid. errors.byte={0} must be an byte.
> errors.short={0} must be an short.
> errors.integer={0} must be an integer.
> errors.long={0} must be an long. errors.float={0}
> must be an float. errors.double={0} must be an
> double. errors.date={0} is not a date.
> errors.range={0} is not in the range {1} through
> {2}. errors.creditcard={0} is not a valid credit
> card number. errors.email={0} is an invalid e-mail
> address.--><form-validation> <global>
> <validator name="required"
> classname="org.apache.struts.util.StrutsValidator"
> method="validateRequired"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> msg="errors.required">
> <javascript><![CDATA[ function
> validateRequired(form) {
>
> var bValid = true; var
> focusField = null; var i = 0;
>
> var
> fields = new Array();
>
> oRequired = new required();
>
>
>
> for (x in oRequired) {
>
> if
> ((form[oRequired[x][0]].type == 'text' ||
> form[oRequired[x][0]].type == 'textarea' ||
> form[oRequired[x][0]].type == 'select-one' ||
> form[oRequired[x][0]].type == 'radio' ||
> form[oRequired[x][0]].type == 'password') &&
> form[oRequired[x][0]].value == '') {
> if (i == 0)
> focusField = form[oRequired[x][0]];
> fields[i++] =
> oRequired[x][1];
> bValid = false;
>
> }
>
> }
>
>
>
> if
> (fields.length > 0) {
> focusField.focus();
> alert(fields.join('\n'));
>
> }
>
>
>
> return bValid;
>
> }]]>
> </javascript> </validator> <validator
> name="minlength"
> classname="org.apache.struts.util.StrutsValidator"
> method="validateMinLength"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> depends="required"
> msg="errors.minlength">
> <javascript><![CDATA[ function
> validateMinLength(form) {
>
> var bValid =
> true; var focusField = null;
> var i = 0;
>
> var fields
> = new Array();
>
> oMinLength = new
> minlength();
>
>
>
>
> for (x in oMinLength) {
>
>
> if (form[oMinLength[x][0]].type == 'text' ||
> form[oMinLength[x][0]].type == 'textarea') {
> var iMin =
> parseInt(oMinLength[x][2]("minlength"));
> if
> (!(form[oMinLength[x][0]].value.length >= iMin)) {
> if (i == 0)
> focusField = form[oMinLength[x][0]];
> fields[i++] =
> oMinLength[x][1];
> bValid = false;
>
> }
>
>
> }
>
> }
>
>
>
>
>
> if (fields.length > 0) {
> focusField.focus();
> alert(fields.join('\n'));
>
> }
>
>
>
>
>
> return bValid;
>
> }]]>
> </javascript> </validator> <validator
> name="maxlength"
> classname="org.apache.struts.util.StrutsValidator"
> method="validateMaxLength"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> depends="required"
> msg="errors.maxlength">
> <javascript><![CDATA[ function
> validateMaxLength(form) {
>
> var bValid =
> true; var focusField = null;
> var i = 0;
>
> var fields
> = new Array();
>
> oMaxLength = new
> maxlength();
>
>
>
>
> for (x in oMaxLength) {
>
>
> if (form[oMaxLength[x][0]].type == 'text' ||
> form[oMaxLength[x][0]].type == 'textarea') {
> var iMax =
> parseInt(oMaxLength[x][2]("maxlength"));
> if
> (!(form[oMaxLength[x][0]].value.length <= iMax)) {
> if (i == 0)
> focusField = form[oMaxLength[x][0]];
> fields[i++] =
> oMaxLength[x][1];
> bValid = false;
>
> }
>
>
> }
>
> }
>
>
>
>
>
> if (fields.length > 0) {
> focusField.focus();
> alert(fields.join('\n'));
>
> }
>
>
>
>
>
> return bValid;
>
> }]]>
> </javascript> </validator> <validator
> name="mask"
> classname="org.apache.struts.util.StrutsValidator"
> method="validateMask"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> 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.util.StrutsValidator"
> method="validateByte"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> depends="required"
> msg="errors.byte"
> jsFunctionName="ByteValidations">
> <javascript><![CDATA[ function
> validateByte(form) { var bValid =
> true; var focusField = null;
> var i = 0;
>
> var fields = new Array();
>
> oByte = new
> ByteValidations();
>
> for (x in oByte) {
>
> if ((form[oByte[x][0]].type
> == 'text' || form[oByte[x][0]].type == 'textarea' ||
> form[oByte[x][0]].type == 'select-one' ||
> 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.util.StrutsValidator"
> method="validateShort"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> depends="required"
> msg="errors.short"
> jsFunctionName="ShortValidations">
> <javascript><![CDATA[ function
> validateShort(form) { var bValid =
> true; var focusField = null;
> var i = 0;
>
> var fields = new Array();
>
> oShort = new
> ShortValidations();
>
> for (x in oShort) {
>
> if
> ((form[oShort[x][0]].type == 'text' ||
> form[oShort[x][0]].type == 'textarea' ||
> form[oShort[x][0]].type == 'select-one' ||
> 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.util.StrutsValidator"
> method="validateInteger"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> depends="required"
> msg="errors.integer"
> jsFunctionName="IntegerValidations">
> <javascript><![CDATA[ function
> validateInteger(form) { var bValid =
> true; var focusField = null;
> var i = 0;
>
> var fields = new Array();
>
> oInteger = new
> IntegerValidations();
>
> for (x in oInteger) {
>
> if
> ((form[oInteger[x][0]].type == 'text' ||
> form[oInteger[x][0]].type == 'textarea' ||
> form[oInteger[x][0]].type == 'select-one' ||
> 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.util.StrutsValidator"
> method="validateLong"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> depends="required"
> msg="errors.long" /> <validator
> name="float"
> classname="org.apache.struts.util.StrutsValidator"
> method="validateFloat"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> depends="required"
> msg="errors.float"
> jsFunctionName="FloatValidations">
> <javascript><![CDATA[ function
> validateFloat(form) { var bValid =
> true; var focusField = null;
> var i = 0;
>
> var fields = new Array();
>
> oFloat = new
> FloatValidations();
>
> for (x in oFloat) {
>
> if
> ((form[oFloat[x][0]].type == 'text' ||
> form[oFloat[x][0]].type == 'textarea' ||
> form[oFloat[x][0]].type == 'select-one' ||
> 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.util.StrutsValidator"
> method="validateDouble"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> depends="required"
> msg="errors.double"/> <validator name="date"
>
> classname="org.apache.struts.util.StrutsValidator"
> method="validateDate"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> depends="required"
> msg="errors.date"
> jsFunctionName="DateValidations">
> <javascript><![CDATA[ function
> validateDate(form) {
>
>
> var bValid = true; var focusField
> = null;
>
> var i
> = 0;
>
>
> var fields = new Array();
>
>
> oDate = new DateValidations();
>
>
>
>
>
> 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.util.StrutsValidator"
> method="validateRange"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> 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.util.StrutsValidator"
> method="validateCreditCard"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> 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.util.StrutsValidator"
> method="validateEmail"
> methodParams="java.lang.Object,
>
> org.apache.commons.validator.ValidatorAction,
>
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionErrors,
>
> javax.servlet.http.HttpServletRequest"
> 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 (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; }]]>
> </javascript> </validator>
> </global></form-validation>
> \ No newline at end of file
>
>
>
>
> --
> To unsubscribe, e-mail:
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
>
__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>