You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by dg...@apache.org on 2003/04/04 08:41:09 UTC
cvs commit: jakarta-struts/src/share/org/apache/struts/taglib/html JavascriptValidatorTag.java
dgraham 2003/04/03 22:41:09
Modified: src/share/org/apache/struts/taglib/html
JavascriptValidatorTag.java
Log:
Don't output requiredif field* javascript variables because they're not used
and break other validations. PR # 18018.
Revision Changes Path
1.25 +22 -17 jakarta-struts/src/share/org/apache/struts/taglib/html/JavascriptValidatorTag.java
Index: JavascriptValidatorTag.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/JavascriptValidatorTag.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- JavascriptValidatorTag.java 10 Mar 2003 01:57:31 -0000 1.24
+++ JavascriptValidatorTag.java 4 Apr 2003 06:41:09 -0000 1.25
@@ -320,8 +320,7 @@
locale = defaultLocale;
}
- Form form = null;
- form = resources.get(locale, formName);
+ Form form = resources.get(locale, formName);;
if (form != null) {
if ("true".equals(dynamicJavascript)) {
MessageResources messages =
@@ -438,47 +437,52 @@
results.append("new Function (\"varName\", \"");
- Map hVars = field.getVars();
+ Map vars = field.getVars();
// Loop through the field's variables.
- for (Iterator iVars = hVars.keySet().iterator(); iVars.hasNext();) {
- String varKey = (String) iVars.next();
- Var var = (Var) hVars.get(varKey);
+ for (Iterator varsIterator = vars.keySet().iterator(); varsIterator.hasNext();) {
+ String varName = (String) varsIterator.next();
+ Var var = (Var) vars.get(varName);
String varValue = var.getValue();
String jsType = var.getJsType();
+
+ // skip requiredif variables field, fieldIndexed, fieldTest, fieldValue
+ if (varName.startsWith("field")){
+ continue;
+ }
if (Var.JSTYPE_INT.equalsIgnoreCase(jsType)) {
results.append(
"this."
- + varKey
+ + varName
+ "="
+ ValidatorUtil.replace(varValue, "\\", "\\\\")
+ "; ");
} else if (Var.JSTYPE_REGEXP.equalsIgnoreCase(jsType)) {
results.append(
"this."
- + varKey
+ + varName
+ "=/"
+ ValidatorUtil.replace(varValue, "\\", "\\\\")
+ "/; ");
} else if (Var.JSTYPE_STRING.equalsIgnoreCase(jsType)) {
results.append(
"this."
- + varKey
+ + varName
+ "='"
+ ValidatorUtil.replace(varValue, "\\", "\\\\")
+ "'; ");
// So everyone using the latest format doesn't need to change their xml files immediately.
- } else if ("mask".equalsIgnoreCase(varKey)) {
+ } else if ("mask".equalsIgnoreCase(varName)) {
results.append(
"this."
- + varKey
+ + varName
+ "=/"
+ ValidatorUtil.replace(varValue, "\\", "\\\\")
+ "/; ");
} else {
results.append(
"this."
- + varKey
+ + varName
+ "='"
+ ValidatorUtil.replace(varValue, "\\", "\\\\")
+ "'; ");
@@ -492,8 +496,9 @@
}
} else if ("true".equals(staticJavascript)) {
results.append(this.getStartElement());
- if ("true".equals(htmlComment))
+ if ("true".equals(htmlComment)) {
results.append(htmlBeginComment);
+ }
}
}
if ("true".equals(staticJavascript)) {
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-dev-help@jakarta.apache.org