I suspect that setName() isn't being called because the input destined for the property fails validation.
On Mon, Feb 23, 2009 at 8:35 AM, Robert Zeigler <robe...@scazdl.org> wrote: > I haven't tested this behavior, but I would consider it a bug for two > reasons: > 1) write = false is specified for @Property. So tapestry really shouldn't > be creating any setters for this property during the class transformation. > 2) From Osamuo's text, it sounds like that if you don't have @Validate, the > custom setter is called just fine. It's only when you add @Validate that > the set fails. Is that the case? > If so, it's definitely a bug. It either needs to fail in both cases, or > succeed in both cases. > > Robert > > On Feb 23, 2009, at 2/236:05 AM , Ulrich Stärk wrote: > >> No, it's not. This is expected behaviour. >> >> Uli >> >> inyokoyoko-deve...@yahoo.co.jp schrieb: >>> >>> Hi, >>> I have already known a solution. >>> It seems to be a bug. >>> Don't you think so? >>> osamuo >>> Using the @Property annotation will make Tapestry add getters and setters >>> for this property during class transformation that will override your >>> supplied ones. Leave out the @Property annotation and specify your own >>> getters and setters and you should be fine. >>> Uli >>> inyokoyoko-deve...@yahoo.co.jp schrieb: >>>> >>>> Hi, >>>> >>>> You can encounter the same problem with the following code in a freshly >>>> set up project. Please try. Click the submit button. >>>> >>>> >>>> Test.java >>>> --------------------------------- >>>> package org.example.myapp.pages; >>>> >>>> import java.util.Date; >>>> >>>> import org.apache.tapestry5.annotations.Property; >>>> import org.apache.tapestry5.beaneditor.Validate; >>>> >>>> >>>> public class Test{ >>>> >>>> @Property( write = false ) >>>> @Validate( "required") // <== when this line is added, setName() is >>>> not called >>>> private String name; >>>> public void setName( String name ){ >>>> this.name = name; >>>> } >>>> } >>>> --------------------------------- >>>> >>>> >>>> Test.tml >>>> --------------------------------- >>>> >>>> [input] >>>> [input] >>>> >>>> --------------------------------- >>>> >>>> osamuo >>>> >>>> >>>> >>>> >>>> >>>> >>>> I'm using the same version as you do - 5.0.18 >>>> Have you tried the same code in a freshly set up project? The problem >>>> seems >>>> to be somewhere else in your project. >>>> >>>> On Sun, Feb 22, 2009 at 5:55 PM, wrote: >>>> >>>>> Hi, >>>>> >>>>> What version are you using? >>>>> >>>>> With the following code setName() was called. >>>>> >>>>> @Property( write = false ) >>>>> private String name; >>>>> public void setName( String name ){ <== called >>>>> ... >>>>> this.name = .... >>>>> } >>>>> >>>>> >>>>> >>>>> With the following code setName() was not called. >>>>> >>>>> @Property( write = false ) >>>>> @Validate( "Required,MinLength=5,MaxLength=16" ) >>>>> private String name; >>>>> public void setName( String name ){ <== not called >>>>> ... >>>>> this.name = .... >>>>> } >>>>> >>>>> >>>>> I don't know why the setter is not called if I add @Validate. >>>>> >>>>> >>>>> osamuo >>>>> >>>>> >>>>> Markus Lux wrote: With your example code I'm >>>>> getting an ComponentEventException saying that >>>>> "name" is read-only. >>>>> Try adding a public-modifier to your setter. That worked for me. >>>>> >>>>> On Sun, Feb 22, 2009 at 3:49 PM, wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> When I set '@Validate' for a TextField, the setter was never called. >>>>>> It seems to be a bug. >>>>>> >>>>>> @Property( write = false ) >>>>>> @Validate( "Required,MinLength=5,MaxLength=16" ) >>>>>> private String name; >>>>>> void setName( String name ){ <=== not called >>>>>> ... >>>>>> this.name = .... >>>>>> } >>>>>> >>>>>> Thanks, >>>>>> osamuo >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> --------------------------------- >>>>>> Power up the Internet with Yahoo! Toolbar. >>>>>> >>>>> >>>>> >>>>> --------------------------------- >>>>> Power up the Internet with Yahoo! Toolbar. >>>>> >>>> >>>> --------------------------------- >>>> Power up the Internet with Yahoo! Toolbar. >>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> --------------------------------- >>> Power up the Internet with Yahoo! Toolbar. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org