You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Brad Plies <br...@bulliondirect.com> on 2003/06/18 23:06:28 UTC
Validator problem with integers
Hi folks,
Using struts-RC2, when using Validator with a dependency
on "integer" validation, I have a problem with the validator
assuming that any integer starting with zero "0" is
necessarily octal. In one example, I have a form where
people enter phone numbers. Which is split up into 3 text
boxes. Area code, 3 digits, last 4 digits. A fairly common
way to break it up.
Here is the validation.xml entry for one such field:
<field
property="dayPhone3"
depends="required, integer, minlength, maxlength">
<arg0 key="Daytime Phone box 3" resource="false"/>
<arg1 name="minlength" key="${var:minlength}" resource="false"/>
<arg2 name="maxlength" key="${var:maxlength}" resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>4</var-value>
</var>
<var>
<var-name>minlength</var-name>
<var-value>4</var-value>
</var>
</field>
Numbers like "0897" will cause the "... must be an integer" message.
Obviously it is not a valid octal number, and I know that the format
of these numbers would appear as an attempt at an octal number.
How do you prevent octal interpretation but still ensure that
the field is numeric? I'm being a tad lazy here, because I
know I could always write my own pluggable validator, but
I'd like to use what already exists if possible.
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org
Re: Validator problem with integers
Posted by Markus Holzem <ma...@holzem.de>.
Hi Brad,
use mask instead of integer. That should do the job. Error message
states, that the entry is invalid. BTW, arg1 has to be used both for
minlength and maxlength since {1} is the argument in the error message.
I found that mask can solve nearly all validation problems if they are
constrained to one field. If you have interdependent fields you still
have to go back and implement ActionForm::validate.
<field property="dayPhone3" depends="required,mask,minlength,maxlength">
<arg0 key="Daytime Phone box 3" resource="false"/>
<arg1 name="minlength" key="${var:minlength}" resource="false" />
<arg1 name="maxlength" key="${var:maxlength}" resource="false" />
<var>
<var-name>mask</var-name>
<var-value>^[0-9]*$</var-value>
</var>
<var>
<var-name>minlength</var-name>
<var-value>4</var-value>
</var>
<var>
<var-name>maxlength</var-name>
<var-value>4</var-value>
</var>
</field>
Markus
Brad Plies wrote:
> Hi folks,
>
> Using struts-RC2, when using Validator with a dependency
> on "integer" validation, I have a problem with the validator
> assuming that any integer starting with zero "0" is
> necessarily octal. In one example, I have a form where
> people enter phone numbers. Which is split up into 3 text
> boxes. Area code, 3 digits, last 4 digits. A fairly common
> way to break it up.
>
> Here is the validation.xml entry for one such field:
>
> <field
> property="dayPhone3"
> depends="required, integer, minlength, maxlength">
> <arg0 key="Daytime Phone box 3" resource="false"/>
> <arg1 name="minlength" key="${var:minlength}" resource="false"/>
> <arg2 name="maxlength" key="${var:maxlength}" resource="false"/>
> <var>
> <var-name>maxlength</var-name>
> <var-value>4</var-value>
> </var>
> <var>
> <var-name>minlength</var-name>
> <var-value>4</var-value>
> </var>
> </field>
>
> Numbers like "0897" will cause the "... must be an integer" message.
> Obviously it is not a valid octal number, and I know that the format
> of these numbers would appear as an attempt at an octal number.
>
> How do you prevent octal interpretation but still ensure that
> the field is numeric? I'm being a tad lazy here, because I
> know I could always write my own pluggable validator, but
> I'd like to use what already exists if possible.
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org