I think this is what you are talking about: http://thread.gmane.org/gmane.comp.jakarta.tapestry.devel/1632
It seems like they were talking in January 2004 (a year and a half ago? Time flies...) about putting it in the next release... But still hasn't been done? I'm still trying my page property validator (it'll hold some state). That seems a little cleaner than patching Tapestry. -Chris > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Thursday, June 02, 2005 12:56 PM > To: Tapestry users > Subject: Re: dynamically generated form fields and form level > validation > > Harish submitted a patch a /long/ while back that dealt with > the scenario > of how to set a particular field in error when it's rendered > in a loop. He > added a new "index" property, as I recall. The patch was > never applied, > but if you search the archives for it, you should be able to find it. > I also know that the patch cannot be cleanly applied to 3.0.3 due to > conflicting changes, so, you may just need to take the patch > and use it as > the basis for your own modifications. > Will this issue be addressed in the new validation stuff Paul > is working > on for 4.0? > > Robert > > > I'm going to try to boil this down to the neccesities. If > it doesn't > > make sense, I'll provide some code. > > > > I have a Foreach loop inside of a form. The loop generates > a couple of > > sets of FieldLabel/ValidField components*. > > > > The problem is that two of the fields' validation depend on > each other. > > If both fields are empty, they both need to be marked as > errored so that > > the error markup will be written. If one or the other has > a value, they > > are both valid. Can someone point me in the best direction > for this? > > > > My first thought was to record the name of the ValidField > component when > > the page was getting the value for it. I would get the > names, something > > like validComponentName and validComponentName$0. At form > rewind time, > > though, I couldn't figure out how to get the components given those > > names and set them in error. It seems impossible, given > that getName() > > will always return the most recent name generated for the > component. I > > tried going through the ValidationDelegate's FieldTrackings > and going > > through the map returned by getComponents(), neither of which worked > > very well. > > > > My next option was going to be to make a special validator for this > > purpose. It would have to be a page property rather than a > bean so that > > the same validator would be used for both ValidFields. All of these > > approaches seem ugly to me. Ideas? Directions? > > > > -Chris > > > > > > *uses a Defer type component to take care of the off by one > validation > > error. the Defer component wraps a FieldLabel and takes in > a block that > > contains a ValidField: > > protected void renderComponent(IMarkupWriter writer, IRequestCycle > > cycle) > > { > > IMarkupWriter nested = writer.getNestedWriter(); > > getBlock().renderBody(nested, cycle); > > renderBody(writer, cycle); > > nested.close(); > > } > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
