struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hubert Rabago" <hrab...@gmail.com>
Subject Re: validate integer with a comma thousands seperator using Validator
Date Sun, 06 Aug 2006 00:46:25 GMT
Try a mask validator.

            <field property="salary" depends="required,mask">
                <arg0 key="employeeform.salary.displayname"/>
                <var>
                    <var-name>mask</var-name>
                    <var-value>^\$?\d+(,\d{3})*(\.\d{2})?$</var-value>
                </var>
            </field>

Hubert

On 8/4/06, fea jabi <zyxrm@hotmail.com> wrote:
> Thanks, Eric.
>
>
> >From: "Givler, Eric" <egivler@state.pa.us>
> >Reply-To: "Struts Users Mailing List" <user@struts.apache.org>
> >To: "Struts Users Mailing List" <user@struts.apache.org>
> >Subject: RE: validate integer with a comma thousands seperator using
> >Validator
> >Date: Thu, 3 Aug 2006 11:45:28 -0400
> >
> >You could create another validator, and inside that perform a stripping of
> >non-numeric characters (stripCommas), then
> >execute code similar to the existing "long range" validator like this:
> >
> >
> >     /**
> >     * Determines if a formatted numeric value is between a range as
> >defined by
> >     * the user-supplied variables: min and max
> >     * <p>
> >     * Note: The only formattting performed is stripping off any commas.
> >If the
> >     * resulting number does not convert to a Long, then validation will
> >fail as
> >     * well.
> >     * </p>
> >     * <p>
> >     * Validation succeeds if:
> >     * <ol>
> >     *    <li>The value in question is null.</li>
> >     *    <li>The parsed field value is within the user-supplied
> >range.</li>
> >     * </ol>
> >     * </p>
> >     * @return
> >     * @param application
> >     * @param request
> >     * @param errors
> >     * @param field
> >     * @param va
> >     * @param bean
> >     */
> >     public static boolean validateFormattedLongRange(
> >         Object bean,
> >         ValidatorAction va,
> >         Field field,
> >         ActionMessages errors,
> >         HttpServletRequest request,
> >         ServletContext application)
> >     {
> >         System.out.println("*** validateFormattedLongRange (" +
> >field.getProperty() + ") - START");
> >         boolean isValid = true;
> >
> >         String value = null;
> >         value = ValidationUtils.evaluateBean(bean, field);
> >         if (!GenericValidator.isBlankOrNull(value))
> >         {
> >             try
> >             {
> >                 long minVal = Long.parseLong(field.getVarValue("min"));
> >                 long maxVal = Long.parseLong(field.getVarValue("max"));
> >                 // We don't want to do this unless we use map.put to show
> >tampered value
> >                 // value = value.replaceAll("[^-0123456789.]", "");
> >                 value = value.replaceAll("[,]", "");
> >                 long lngValue = Long.parseLong(value);
> >
> >                 if ((lngValue > maxVal) || (lngValue < minVal))
> >                 {
> >                     errors.add(field.getKey(),
> >                         Resources.getActionMessage(request, va, field));
> >                     isValid = false;
> >                 }
> >             }
> >             catch (NumberFormatException nfex)
> >             {
> >                 errors.add(field.getKey(),
> >                     Resources.getActionMessage(request, va, field));
> >                 isValid = false;
> >             }
> >         }
> >         System.out.println("*** validateFormattedLongRange (" +
> >field.getProperty() + ") - END, returning " + isValid);
> >         return isValid;
> >     }
> >
> >Define this validator in validator-rules.xml:
> >
> >       <validator name="fmtLongRange"
> >             classname="view.struts.validator.StrutsValidationExtensions"
> >                method="validateFormattedLongRange"
> >          methodParams="java.lang.Object,
> >                        org.apache.commons.validator.ValidatorAction,
> >                        org.apache.commons.validator.Field,
> >                        org.apache.struts.action.ActionMessages,
> >                        javax.servlet.http.HttpServletRequest,
> >                        javax.servlet.ServletContext"
> >                   msg="errors.fmtLongRange">
> >       </validator>
> >
> >Add a rule for a field:
> >
> >       <field property="water_usage" page="2" depends="fmtLongRange">
> >         <arg0 name="required" key="Page_2.water_usage"/>
> >         <arg0 name="fmtLongRange" key="Page_2.water_usage" />
> >         <arg1 name="fmtLongRange" key="${var:min}" resource="false"/>
> >         <arg2 name="fmtLongRange" key="999,999,999" resource="false"/>
> >         <var><var-name>min</var-name><var-value>0</var-value></var>
> >
> ><var><var-name>max</var-name><var-value>999999999</var-value></var>
> >       </field>
> >
> >Define the message in the resource file (errors.fmtLongRange):
> >
> >errors.fmtLongRange={0} must be a valid whole number between {1} and {2}.
> >
> >
> >-----Original Message-----
> >From: fea jabi [mailto:zyxrm@hotmail.com]
> >Sent: Thursday, August 03, 2006 10:01 AM
> >To: user@struts.apache.org
> >Subject: RE: validate integer with a comma thousands seperator using
> >Validator
> >
> >
> >can someone help me with this please?
> >
> >
> > >From: "fea jabi" <zyxrm@hotmail.com>
> > >Reply-To: "Struts Users Mailing List" <user@struts.apache.org>
> > >To: user@struts.apache.org
> > >Subject: validate integer with a comma thousands seperator using
> >Validator
> > >Date: Wed, 02 Aug 2006 10:09:19 -0400
> > >
> > >Using struts validator.
> > >
> > >have to validate the user entered value.
> > >
> > >The value entered should be a positive integer with a comma thousands
> > >seperator. the number need not be in thousands.
> > >
> > >I have as below to check for positive integer without comma seperator.
> >but
> > >not sure how to validate if the user entered value with a comma
> >seperator?
> > >
> > >i.e value like 25,349 // how to validate this?
> > >
> > ><field property="hrs" depends="integer,validwhen">
> > >                <msg name="integer" key="errors.notvalid"/>
> > >                <msg name="validwhen" key="errors.notvalid"/>
> > >                <var>
> > >                    <var-name>test</var-name>
> > >                    <var-value>(*this* >= 0)</var-value>
> > >                </var>
> > >            </field>
> > >
> > >how to validate the user entered value with a comma seperator? Thanks.
> > >
> > >_________________________________________________________________
> > >Don't just search. Find. Check out the new MSN Search!
> > >http://search.msn.click-url.com/go/onm00200636ave/direct/01/
> > >
> > >
> > >---------------------------------------------------------------------
> > >To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> > >For additional commands, e-mail: user-help@struts.apache.org
> > >
> >
> >_________________________________________________________________
> >Don't just search. Find. Check out the new MSN Search!
> >http://search.msn.click-url.com/go/onm00200636ave/direct/01/
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >For additional commands, e-mail: user-help@struts.apache.org
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >For additional commands, e-mail: user-help@struts.apache.org
> >
>
> _________________________________________________________________
> Express yourself instantly with MSN Messenger! Download today - it's FREE!
> http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

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


Mime
View raw message