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