I solved my problem by changing field's variables names to length1 and length2 instead of fieldLength1 and fieldLength2. This is because of the if statement in JavascriptValidatorTag.java code: // skip requiredif variables field, fieldIndexed, fieldTest, fieldValue if (varName.startsWith("field")) { continue; }
The method and portion of the code from the struts source follows: private String createDynamicJavascript( ModuleConfig config, ValidatorResources resources, Locale locale, Form form) { StringBuffer results = new StringBuffer(); ............. ............. Map vars = field.getVars(); // Loop through the field's variables. Iterator varsIterator = vars.keySet().iterator(); while (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; } .................. ................... return results.toString(); } Looking at the source code solved my problem. Reddy Pingili > -----Original Message----- > From: Pingili, Madhupal > Sent: Friday, April 02, 2004 10:41 AM > To: 'Struts Users Mailing List' > Subject: validator-rules javascript problems > > > I am trying to get variable values defined in validation.xml as below: > <field property="accountNo" > depends="required,numCheck"> > <arg0 key="prepareSearchPageForm.accountno.displayname"/> > <arg1 name="numCheck" key="${var:fieldLength1}" resource="false"/> > <arg2 name="numCheck" key="${var:fieldLength2}" resource="false"/> > <var> > <var-name>fieldLength1</var-name> > <var-value>10</var-value> > </var> > <var> > <var-name>fieldLength2</var-name> > <var-value>13</var-value> > </var> > </field> > > I am extracting like validateIntRange() function: > var iMin = parseInt(oRange[x][2]("min")); > var iMax = parseInt(oRange[x][2]("max")); > > My code is: > var iFieldLength1 = parseInt(oNumCheck[x][2]("fieldLength1")); > var iFieldLength2 = parseInt(oNumCheck[x][2]("fieldLength2")); > > I am not getting values 10 and 13. But, if I hard code values like > "iFieldLength1 = 10;", then everything works fine. > > Am I missing anything here? How can I get those values? > > Any help is appreciated. > > Reddy Pingili > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]