You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Bill Siggelkow <bi...@bellsouth.net> on 2004/08/12 18:23:17 UTC
[Validator] Indexed properties
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: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org