You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Jun Tsai <ju...@gmail.com> on 2006/01/05 13:52:26 UTC

How to define an integer validator in T4?

hi
  I didn't find a int validator defied in
tapestry.form.validator.Validators.I want to

 <component type="TextField" id="molecularWeightField">
    <binding name="displayName" value="message:molecularWeight"/>
    <binding name="translator" value="translator:number"/>
    <binding name="validators" value="validators:int,maxLength=10"/>
    <binding name="value" value="ognl:entity.molecularWeight"/>
  </component>

but no int validator.

How to do ?

Thanks

Jun Tsai
--
Welcome to China Java Users Group(CNJUG).
http://cnjug.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: How to define an integer validator in T4?

Posted by Jun Tsai <ju...@gmail.com>.
if I input xx.xx  ,some exception was thrown.

2006/1/5, Ron Piterman <rp...@gmx.net>:
> BTW, i think that tapestry will drop the digits to the right of the
> decimal point if you don't set any validator, so you can just use an
> integer property and everything should work.
> This will however not give the user any error messages...
> Cheers,
> ROn
>
> Jun Tsai wrote:
> > hi
> >   I didn't find a int validator defied in
> > tapestry.form.validator.Validators.I want to
> >
> >  <component type="TextField" id="molecularWeightField">
> >     <binding name="displayName" value="message:molecularWeight"/>
> >     <binding name="translator" value="translator:number"/>
> >     <binding name="validators" value="validators:int,maxLength=10"/>
> >     <binding name="value" value="ognl:entity.molecularWeight"/>
> >   </component>
> >
> > but no int validator.
> >
> > How to do ?
> >
> > Thanks
> >
> > Jun Tsai
> > --
> > Welcome to China Java Users Group(CNJUG).
> > http://cnjug.dev.java.net
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>


--
Welcome to China Java Users Group(CNJUG).
http://cnjug.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: How to define an integer validator in T4?

Posted by Ron Piterman <rp...@gmx.net>.
BTW, i think that tapestry will drop the digits to the right of the 
decimal point if you don't set any validator, so you can just use an 
integer property and everything should work.
This will however not give the user any error messages...
Cheers,
ROn

Jun Tsai wrote:
> hi
>   I didn't find a int validator defied in
> tapestry.form.validator.Validators.I want to
> 
>  <component type="TextField" id="molecularWeightField">
>     <binding name="displayName" value="message:molecularWeight"/>
>     <binding name="translator" value="translator:number"/>
>     <binding name="validators" value="validators:int,maxLength=10"/>
>     <binding name="value" value="ognl:entity.molecularWeight"/>
>   </component>
> 
> but no int validator.
> 
> How to do ?
> 
> Thanks
> 
> Jun Tsai
> --
> Welcome to China Java Users Group(CNJUG).
> http://cnjug.dev.java.net
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: How to define an integer validator in T4?

Posted by Ron Piterman <rp...@gmx.net>.
see wiki -> tapestry 4.0 -> howtos -> creating custom vlalidators.


Jun Tsai wrote:
> hi
>   I didn't find a int validator defied in
> tapestry.form.validator.Validators.I want to
> 
>  <component type="TextField" id="molecularWeightField">
>     <binding name="displayName" value="message:molecularWeight"/>
>     <binding name="translator" value="translator:number"/>
>     <binding name="validators" value="validators:int,maxLength=10"/>
>     <binding name="value" value="ognl:entity.molecularWeight"/>
>   </component>
> 
> but no int validator.
> 
> How to do ?
> 
> Thanks
> 
> Jun Tsai
> --
> Welcome to China Java Users Group(CNJUG).
> http://cnjug.dev.java.net
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: How to define an integer validator in T4?

Posted by Shing Hing Man <ma...@yahoo.com>.
There is a short article in the wiki that shows how to
create your own 
validator.
http://wiki.apache.org/jakarta-tapestry/HowTos

You need something like the following.

public class IntegerValidator extends BaseValidator {

	public void validate(IFormComponent form, 
			ValidationMessages messages, Object obj)
	             throws ValidatorException {
		String input = (String)obj;
		try {
			Integer.parseInt(input.trim());
		}
	    catch (NumberFormatException nfe){
	    	throw new ValidatorException(getMessage());
	    }
		
	}

}

Add the following to  hivemodule.xml :

  <contribution
configuration-id="tapestry.form.validator.Validators">
       <validator name="integer" configurable="true"		
                       
class="math.validators.IntegerValidator"/>
   </contribution>


In your .page :
 <bean name="integerValidator" 
               
class="math.validators.IntegerValidator">
        <set name="message" value="literal:Preference
must be an integer"/>        
    </bean>

  <binding name="validators"
value="validators:$integerValidator"/>




Shing

--- Jun Tsai <ju...@gmail.com> wrote:

> hi
>   I didn't find a int validator defied in
> tapestry.form.validator.Validators.I want to
> 
>  <component type="TextField"
> id="molecularWeightField">
>     <binding name="displayName"
> value="message:molecularWeight"/>
>     <binding name="translator"
> value="translator:number"/>
>     <binding name="validators"
> value="validators:int,maxLength=10"/>
>     <binding name="value"
> value="ognl:entity.molecularWeight"/>
>   </component>
> 
> but no int validator.
> 
> How to do ?
> 
> Thanks
> 
> Jun Tsai
> --
> Welcome to China Java Users Group(CNJUG).
> http://cnjug.dev.java.net
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> tapestry-user-help@jakarta.apache.org
> 
> 


Home page :
  http://uk.geocities.com/matmsh/index.html


	
	
		
___________________________________________________________ 
Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail http://uk.messenger.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org