struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Barry <>
Subject Re: validator integer required
Date Fri, 02 Apr 2004 15:21:29 GMT
The "greaterThan" validation I wrote fails if the number is not an 
integer greater than 0, so I think I will just stick with that.  This 
allows me to still have the correct types for the properties in my 

Adam Hardy wrote:

> Actually most of the Validator and the DynaActionForm functionality is 
> based on the assumption that you are using String for the type.
> Using an int in your action form leaves the possibility open that 
> someone will submit a non-int character, and then you will get an 
> Exception message in tomcat that Validator can do nothing about.
> Adam
> On 04/02/2004 01:01 AM Paul Barry wrote:
>> validate is true.  I wrote my own "greaterThan" validation to make 
>> sure the property is greater than 0, which seems to work.  I haven't 
>> looked at how the validator works at all, but it seems that it checks 
>> the form bean, not the request parameters, to validate the values.  Is 
>> that the case?  If that is true, if I had a String property where I 
>> gave it some default value in my bean, like String property = 
>> "default", when someone submits a form the validation would always 
>> pass because the property of the ActionForm is not null, regardless of 
>> whether or not the was a "property" request parameter.  This is 
>> example is stupid, because you would never have a default value on a 
>> require property, but the point is this may explain the behavior I am 
>> seeing with the int property.  The int in the form is not blank or 
>> null, because it is 0 (primitives can't be null), so therefore it 
>> passes the required validation.
>> The value we are talking about should match up to an oracle sequence 
>> generated int, so it always should be an int, which is why I made the 
>> ActionForm property an int.  I guess I could make it a String property 
>> in the ActionForm and just use the "integer" validation to make sure 
>> it is an int, even though the ActionForm property is a String?  Would 
>> that work?
>> Joe Hertz wrote:
>>> Well, it's not the *expected* behavior.
>>> First thing -- I'd make id a String. The validator parses String 
>>> properties. Not having looked into the validator code myself, I 
>>> suppose "required" *could* work for a non string property, but I sure 
>>> wouldn't try it with a primative like int. Integer might have better 
>>> results, but I'm speculating.
>>> Just make id a String in the form and be done with it.
>>> Aside from that, std questions about validator setup:
>>> Is validate="true" on your ActionMapping?
>>> Are we talking about a ValidatorForm or a ValidatorActionForm? With 
>>> the letter, you validate the Mapping name. with the former you 
>>> validate the form name?
>>> HTH,
>>> Joe
>>>> -----Original Message-----
>>>> From: Paul Barry [] Sent: Thursday, April 
>>>> 01, 2004 5:38 PM
>>>> To:
>>>> Subject: validator integer required
>>>> I have an ActionForm with an int property called id.  If I use the 
>>>> validator \"required\" validation, it always passes the validation, 
>>>> even if there is no request parameter called id.  Is this is correct 
>>>> behavior, or am I doing something wrong?
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:
>>> For additional commands, e-mail:
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message