Re: [T5.0.18] Setter method was not called when '@Validate' was set.

2009-02-23 Thread inyokoyoko-develop
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.


[T5.0.18] Setter method was not called when '@Validate' was set.

2009-02-22 Thread inyokoyoko-develop
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.


Re: [T5.0.18] Setter method was not called when '@Validate' was set.

2009-02-22 Thread inyokoyoko-develop
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 markus@gmail.com 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.


Re: [T5.0.18] Setter method was not called when '@Validate' was set.

2009-02-22 Thread inyokoyoko-develop
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
-
html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
head
title/title
/head
body
form t:type=form t:clientValidation=false
   input t:id=name t:type=textfield type=text /
   
   input type=submit value=submit /
   /form
/body
/html

-

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.