I hope there exists a simpler solution, but here is my workaround: use an expression validator. This idea was taken from http://www.opensymphony.com/webwork/wikidocs/collection%20validator.html webwork wiki: collection validator (it seems that the collection validator is not yet available in struts).
For example, if you want to say that lastName is a requiredString, then you can create an expression validator like this: <validator type="expression"> persons.{#this.lastName.length() > 0}.{? #this == false }.size() <= 0 <message>lastName cannot be empty</message> </validator> which means: the size of the sub-collection of persons that does not satisfy the condition "lastName.length>0" must be <=0. Julio Alberto Jalón wrote: > > > May I didn't explain myself correctly. What I would like to know is how to > validate multiple fields. I'll write an example. I have a form in a JSP > which generate the field dynamically. E.g: > > <s:form action="editPerson" theme="simple" validate="false"> > <table> > <tr> > <th>ID</th> > <th>First Name</th> > <th>Last Name</th> > </tr> > <s:iterator id="p" value="persons"> > <tr> > <td> > <s:property value="%{id}" /> > </td> > <td> > <s:textfield label="First Name" > name="persons(%{id}).name" value="%{name}" theme="simple" /> > </td> > <td> > <s:textfield label="Last Name" > name="persons(%{id}).lastName" value="%{lastName}" theme="simple"/> > </td> > </tr> > </s:iterator> > </table> > > <s:submit method="save" value="Save all persons"/> > </s:form> > > > > Where person is a List in the action class. Now, what I would like to know > is how could I achieve this fields to be validated. For example, I would > like that if the name is filled the last name should be also filled and > both can only contains letters and blanks. > > -- View this message in context: http://www.nabble.com/Struts2-Collection-validation-tp19991675p20068978.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]