The validator idea doesn't work.  In retrospect, it makes sense.

> -----Original Message-----
> From: Chris Norris [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, June 02, 2005 1:27 PM
> To: Tapestry users
> Subject: RE: dynamically generated form fields and form level 
> validation
> 
> 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]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to