===================================
I have been working with indexedListProperty in Struts 1.2 (using Validator 1.1.3, I believe). Suppose I have the following validation:
---------------------------------------------------------------- <field property="partNumber" indexedListProperty="orders" depends="minlength"> <arg position="0" key="prompt.partNumber"/> <arg position="1" key="${var:minlength}" resource="false"/> <var> <var-name>minlength</var-name> <var-value>5</var-value> </var> </field> ----------------------------------------------------------------
Now, when I validate the form, if the minlength validation fails on one of the indexed properties, then none of the rest of the partNumber fields are checked for minlength.
I am using Struts and I was trying to output the error message beside the property using html:messages -- the result is that the error message is only generated for the first property that fails.
For what its worth, I did hack a fix -- I changed the
ValidatorResults validate(Map params, Map actions) method in the Field class [org.apache.commons.validator.Field].
Basically where it had (on line 724): ----------------------------------------- if (!good) { return allResults; } ----------------------------------------
I made it ... ----------------------------------------- if (!good && numberOfFieldsToValidate <= 1) { return allResults; } ----------------------------------------
This worked -- in other words I get all the messages generated for each field if the field is indexed.
Any opinions on ramifications of making this change or other possible solutions? I have not messed at all with the client-side javascript so I am not sure what the behavior is like there.
Bill Siggelkow
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]