Hi I am using commons validator 1.3.1 and am using indexedProperty's for String[] arrays. I build up the list on the jsp dynamically so there could be one or more entries with the same name.
Here is my struts config entry as part of a DynaValidatorForm <form-property name="abc" type="java.lang.String[]"/> Then in my custom-forms.xml I have the following configuration rules <field property="abc" indexedListProperty="abc" depends="required,integer,intRange"> <arg key="aRI" resource="false" position="0"/> <arg name="intRange" key="${var:min}" resource="false" position="1"/> <arg name="intRange" key="${var:max}" resource="false" position="2"/> <var> <var-name>min</var-name> <var-value>0</var-value> </var> <var> <var-name>max</var-name> <var-value>250</var-value> </var> </field> This configuration works fine if there are 2 or more fields in the form with the name 'abc', however when there is only one commons validator sees it as a string and the following method throws a Validator Exception /** * Returns the size of an indexed property from the object we're validating. * * @param bean The bean to extract the indexed values from. * @throws ValidatorException If there's an error looking up the property * or, the property found is not indexed. */ private int getIndexedPropertySize(Object bean) throws ValidatorException { Object indexedProperty = null; try { indexedProperty = PropertyUtils.getProperty(bean, this.getIndexedListProperty()); } catch(IllegalAccessException e) { throw new ValidatorException(e.getMessage()); } catch(InvocationTargetException e) { throw new ValidatorException(e.getMessage()); } catch(NoSuchMethodException e) { throw new ValidatorException(e.getMessage()); } if (indexedProperty == null) { return 0; } else if (indexedProperty instanceof Collection) { return ((Collection)indexedProperty).size(); } else if (indexedProperty.getClass().isArray()) { return ((Object[])indexedProperty).length; } else { throw new ValidatorException(this.getKey() + " is not indexed"); } } The method signature explains this as it says this will be thrown if it is not an indexed property. Is what I am trying to achieve possible with the current version of commons validator? If so is there some configuration changes needed? Thank you in advance David --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]