You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by rl...@apache.org on 2003/11/17 05:57:50 UTC
cvs commit: jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript validateByte.js validateCreditCard.js validateDate.js validateEmail.js validateFloat.js validateFloatRange.js validateIntRange.js validateInteger.js validateMask.js validateMaxLength.js validateMinLength.js validateRequired.js validateShort.js
rleland 2003/11/16 20:57:50
Modified: validator/src/javascript/org/apache/commons/validator/javascript
validateByte.js validateCreditCard.js
validateDate.js validateEmail.js validateFloat.js
validateFloatRange.js validateIntRange.js
validateInteger.js validateMask.js
validateMaxLength.js validateMinLength.js
validateRequired.js validateShort.js
Log:
Bug 21043 Suggested fix by Colin Froggatt
Ignore validation criteria when field is disabled.
This was reported for mask but this was extended to all field types.
Revision Changes Path
1.4 +6 -5 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateByte.js
Index: validateByte.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateByte.js,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- validateByte.js 22 Oct 2003 07:20:57 -0000 1.3
+++ validateByte.js 17 Nov 2003 04:57:50 -0000 1.4
@@ -12,10 +12,11 @@
for (x in oByte) {
var field = form[oByte[x][0]];
- if (field.type == 'text' ||
+ if ((field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'select-one' ||
- field.type == 'radio') {
+ field.type == 'radio') &&
+ field.disabled == false) {
var value = '';
// get field's value
1.4 +5 -4 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateCreditCard.js
Index: validateCreditCard.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateCreditCard.js,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- validateCreditCard.js 22 Oct 2003 07:20:57 -0000 1.3
+++ validateCreditCard.js 17 Nov 2003 04:57:50 -0000 1.4
@@ -12,7 +12,8 @@
for (x in oCreditCard) {
if ((form[oCreditCard[x][0]].type == 'text' ||
form[oCreditCard[x][0]].type == 'textarea') &&
- (form[oCreditCard[x][0]].value.length > 0)) {
+ (form[oCreditCard[x][0]].value.length > 0) &&
+ form[oCreditCard[x][0]].disabled == false) {
if (!luhnCheck(form[oCreditCard[x][0]].value)) {
if (i == 0) {
focusField = form[oCreditCard[x][0]];
1.5 +99 -97 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateDate.js
Index: validateDate.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateDate.js,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- validateDate.js 22 Oct 2003 07:20:57 -0000 1.4
+++ validateDate.js 17 Nov 2003 04:57:50 -0000 1.5
@@ -16,67 +16,106 @@
// try loose pattern
if (datePattern == null)
datePattern = oDate[x][2]("datePattern");
- 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 ((form[oDate[x][0]].type == 'text' ||
+ form[oDate[x][0]].type == 'textarea') &&
+ (value.length > 0) && (datePattern.length > 0) &&
+ form[oDate[x][0]].disabled == false) {
+ 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]];
+ 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]];
@@ -84,43 +123,6 @@
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) {
1.4 +5 -4 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateEmail.js
Index: validateEmail.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateEmail.js,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- validateEmail.js 22 Oct 2003 07:20:57 -0000 1.3
+++ validateEmail.js 17 Nov 2003 04:57:50 -0000 1.4
@@ -13,7 +13,8 @@
for (x in oEmail) {
if ((form[oEmail[x][0]].type == 'text' ||
form[oEmail[x][0]].type == 'textarea') &&
- (form[oEmail[x][0]].value.length > 0)) {
+ (form[oEmail[x][0]].value.length > 0) &&
+ form[oEmail[x][0]].disabled == false) {
if (!checkEmail(form[oEmail[x][0]].value)) {
if (i == 0) {
focusField = form[oEmail[x][0]];
1.6 +6 -5 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateFloat.js
Index: validateFloat.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateFloat.js,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- validateFloat.js 22 Oct 2003 07:20:57 -0000 1.5
+++ validateFloat.js 17 Nov 2003 04:57:50 -0000 1.6
@@ -12,10 +12,11 @@
for (x in oFloat) {
var field = form[oFloat[x][0]];
- if (field.type == 'text' ||
+ if ((field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'select-one' ||
- field.type == 'radio') {
+ field.type == 'radio') &&
+ field.disabled == false) {
var value = '';
// get field's value
1.4 +16 -16 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateFloatRange.js
Index: validateFloatRange.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateFloatRange.js,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- validateFloatRange.js 22 Oct 2003 07:20:57 -0000 1.3
+++ validateFloatRange.js 17 Nov 2003 04:57:50 -0000 1.4
@@ -12,20 +12,20 @@
for (x in oRange) {
var field = form[oRange[x][0]];
- if ((field.type == 'text' ||
- field.type == 'textarea') &&
- (field.value.length > 0)) {
+ if ((field.type == 'text' || field.type == 'textarea') &&
+ (field.value.length > 0) &&
+ field.disabled == false) {
- var fMin = parseFloat(oRange[x][2]("min"));
- var fMax = parseFloat(oRange[x][2]("max"));
- var fValue = parseFloat(field.value);
- if (!(fValue >= fMin && fValue <= fMax)) {
- if (i == 0) {
- focusField = field;
- }
- fields[i++] = oRange[x][1];
- isValid = false;
- }
+ var fMin = parseFloat(oRange[x][2]("min"));
+ var fMax = parseFloat(oRange[x][2]("max"));
+ var fValue = parseFloat(field.value);
+ if (!(fValue >= fMin && fValue <= fMax)) {
+ if (i == 0) {
+ focusField = field;
+ }
+ fields[i++] = oRange[x][1];
+ isValid = false;
+ }
}
}
if (fields.length > 0) {
1.5 +24 -22 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateIntRange.js
Index: validateIntRange.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateIntRange.js,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- validateIntRange.js 22 Oct 2003 07:20:57 -0000 1.4
+++ validateIntRange.js 17 Nov 2003 04:57:50 -0000 1.5
@@ -11,27 +11,29 @@
oRange = new intRange();
for (x in oRange) {
var field = form[oRange[x][0]];
- var value = '';
- if (field.type == 'text' || field.type == 'textarea' ||
- field.type == 'radio' ) {
- value = field.value;
- }
- if (field.type == 'select-one') {
- var si = field.selectedIndex;
- if (si >= 0) {
- value = field.options[si].value;
+ if (field.disabled == false) {
+ var value = '';
+ if (field.type == 'text' || field.type == 'textarea' ||
+ field.type == 'radio' ) {
+ value = field.value;
}
- }
- if (value.length > 0) {
- var iMin = parseInt(oRange[x][2]("min"));
- var iMax = parseInt(oRange[x][2]("max"));
- var iValue = parseInt(value);
- if (!(iValue >= iMin && iValue <= iMax)) {
- if (i == 0) {
- focusField = field;
+ if (field.type == 'select-one') {
+ var si = field.selectedIndex;
+ if (si >= 0) {
+ value = field.options[si].value;
+ }
+ }
+ if (value.length > 0) {
+ var iMin = parseInt(oRange[x][2]("min"));
+ var iMax = parseInt(oRange[x][2]("max"));
+ var iValue = parseInt(value);
+ if (!(iValue >= iMin && iValue <= iMax)) {
+ if (i == 0) {
+ focusField = field;
+ }
+ fields[i++] = oRange[x][1];
+ isValid = false;
}
- fields[i++] = oRange[x][1];
- isValid = false;
}
}
}
1.4 +6 -5 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateInteger.js
Index: validateInteger.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateInteger.js,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- validateInteger.js 22 Oct 2003 07:20:57 -0000 1.3
+++ validateInteger.js 17 Nov 2003 04:57:50 -0000 1.4
@@ -12,10 +12,11 @@
for (x in oInteger) {
var field = form[oInteger[x][0]];
- if (field.type == 'text' ||
+ if ((field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'select-one' ||
- field.type == 'radio') {
+ field.type == 'radio') &&
+ field.disabled == false) {
var value = '';
// get field's value
1.4 +5 -4 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateMask.js
Index: validateMask.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateMask.js,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- validateMask.js 22 Oct 2003 07:20:57 -0000 1.3
+++ validateMask.js 17 Nov 2003 04:57:50 -0000 1.4
@@ -14,7 +14,8 @@
if ((field.type == 'text' ||
field.type == 'textarea') &&
- (field.value.length > 0)) {
+ (field.value.length > 0) &&
+ field.disabled == false) {
if (!matchPattern(field.value, oMasked[x][2]("mask"))) {
if (i == 0) {
1.5 +6 -5 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateMaxLength.js
Index: validateMaxLength.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateMaxLength.js,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- validateMaxLength.js 22 Oct 2003 07:20:57 -0000 1.4
+++ validateMaxLength.js 17 Nov 2003 04:57:50 -0000 1.5
@@ -12,9 +12,10 @@
for (x in oMaxLength) {
var field = form[oMaxLength[x][0]];
- if (field.type == 'text' ||
+ if ((field.type == 'text' ||
field.type == 'password' ||
- field.type == 'textarea') {
+ field.type == 'textarea') &&
+ field.disabled == false) {
var iMax = parseInt(oMaxLength[x][2]("maxlength"));
if (field.value.length > iMax) {
1.6 +6 -5 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateMinLength.js
Index: validateMinLength.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateMinLength.js,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- validateMinLength.js 22 Oct 2003 07:20:57 -0000 1.5
+++ validateMinLength.js 17 Nov 2003 04:57:50 -0000 1.6
@@ -12,9 +12,10 @@
for (x in oMinLength) {
var field = form[oMinLength[x][0]];
- if (field.type == 'text' ||
+ if ((field.type == 'text' ||
field.type == 'password' ||
- field.type == 'textarea') {
+ field.type == 'textarea') &&
+ field.disabled == false) {
var iMin = parseInt(oMinLength[x][2]("minlength"));
if ((trim(field.value).length > 0) && (field.value.length < iMin)) {
1.8 +6 -5 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateRequired.js
Index: validateRequired.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateRequired.js,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- validateRequired.js 31 Oct 2003 06:20:34 -0000 1.7
+++ validateRequired.js 17 Nov 2003 04:57:50 -0000 1.8
@@ -13,12 +13,13 @@
for (x in oRequired) {
var field = form[oRequired[x][0]];
- if (field.type == 'text' ||
+ if ((field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'file' ||
field.type == 'checkbox' ||
field.type == 'select-one' ||
- field.type == 'password') {
+ field.type == 'password') &&
+ field.disabled == false) {
var value = '';
// get field's value
1.4 +6 -5 jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateShort.js
Index: validateShort.js
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/javascript/org/apache/commons/validator/javascript/validateShort.js,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- validateShort.js 22 Oct 2003 07:20:57 -0000 1.3
+++ validateShort.js 17 Nov 2003 04:57:50 -0000 1.4
@@ -12,10 +12,11 @@
for (x in oShort) {
var field = form[oShort[x][0]];
- if (field.type == 'text' ||
+ if ((field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'select-one' ||
- field.type == 'radio') {
+ field.type == 'radio') &&
+ field.disabled == false) {
var value = '';
// get field's value
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org