Author: mrdon
Date: Fri Sep  9 12:58:25 2005
New Revision: 279861

URL: http://svn.apache.org/viewcvs?rev=279861&view=rev
Log:
Adding numeric validations that use the current locale:
 * byteLocale
 * shortLocale
 * integerLocale
 * longLocale 
 * floatLocale
 * doubleLocale
PR: 21282 

Modified:
    struts/core/trunk/conf/java/validator-rules.xml
    struts/core/trunk/src/java/org/apache/struts/validator/FieldChecks.java

Modified: struts/core/trunk/conf/java/validator-rules.xml
URL: 
http://svn.apache.org/viewcvs/struts/core/trunk/conf/java/validator-rules.xml?rev=279861&r1=279860&r2=279861&view=diff
==============================================================================
--- struts/core/trunk/conf/java/validator-rules.xml (original)
+++ struts/core/trunk/conf/java/validator-rules.xml Fri Sep  9 12:58:25 2005
@@ -207,6 +207,84 @@
                   msg="errors.double"/>
 
 
+      <validator name="byteLocale"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateByteLocale"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.byte"/>
+
+
+      <validator name="shortLocale"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateShortLocale"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.short"/>
+
+
+      <validator name="integerLocale"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateIntegerLocale"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.integer"/>
+
+
+
+      <validator name="longLocale"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateLongLocale"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.long"/>
+
+
+      <validator name="floatLocale"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateFloatLocale"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.float"/>
+
+      <validator name="doubleLocale"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateDoubleLocale"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.double"/>
+                  
+                  
       <validator name="date"
             classname="org.apache.struts.validator.FieldChecks"
                method="validateDate"

Modified: 
struts/core/trunk/src/java/org/apache/struts/validator/FieldChecks.java
URL: 
http://svn.apache.org/viewcvs/struts/core/trunk/src/java/org/apache/struts/validator/FieldChecks.java?rev=279861&r1=279860&r2=279861&view=diff
==============================================================================
--- struts/core/trunk/src/java/org/apache/struts/validator/FieldChecks.java 
(original)
+++ struts/core/trunk/src/java/org/apache/struts/validator/FieldChecks.java Fri 
Sep  9 12:58:25 2005
@@ -276,6 +276,45 @@
 
         return result == null ? Boolean.FALSE : result;
     }
+    
+    
+    /**
+     * Checks if the field can safely be converted to a byte primitive.
+     *
+     [EMAIL PROTECTED] bean The bean validation is being performed on.
+     [EMAIL PROTECTED] va The <code>ValidatorAction</code> that is currently 
being performed.
+     [EMAIL PROTECTED] field The <code>Field</code> object associated with the 
current
+     *field being validated.
+     [EMAIL PROTECTED] errors The <code>ActionMessages</code> object to add 
errors to if
+     *any validation errors occur.
+     * @param validator The <code>Validator</code> instance, used to access
+     * other field values.
+     [EMAIL PROTECTED] request Current request object.
+     [EMAIL PROTECTED] true if valid, false otherwise.
+     */
+    public static Object validateByteLocale(Object bean,
+                                    ValidatorAction va, Field field,
+                                    ActionMessages errors,
+                                    Validator validator,
+                                    HttpServletRequest request) {
+
+        Object result = null;
+        String value = null;
+        value = evaluateBean(bean, field);
+
+        if (GenericValidator.isBlankOrNull(value)) {
+            return Boolean.TRUE;
+        }
+
+        Locale locale = RequestUtils.getUserLocale(request, null);
+        result = GenericTypeValidator.formatByte(value, locale);
+
+        if (result == null) {
+            errors.add(field.getKey(), Resources.getActionMessage(validator, 
request, va, field));
+        }
+
+        return result == null ? Boolean.FALSE : result;
+    }
 
     /**
      * @param bean
@@ -328,6 +367,44 @@
 
         return result == null ? Boolean.FALSE : result;
     }
+    
+    
+    /**
+     * Checks if the field can safely be converted to a short primitive.
+     *
+     * @param bean The bean validation is being performed on.
+     * @param va The <code>ValidatorAction</code> that is currently being 
performed.
+     * @param field The <code>Field</code> object associated with the current
+     * field being validated.
+     * @param errors The <code>ActionMessages</code> object to add errors to if
+     * any validation errors occur.
+     * @param validator The <code>Validator</code> instance, used to access
+     * other field values.
+     * @param request Current request object.
+     * @return true if valid, false otherwise.
+     */
+    public static Object validateShortLocale(Object bean,
+                                      ValidatorAction va, Field field,
+                                      ActionMessages errors,
+                                      Validator validator,
+                                      HttpServletRequest request) {
+        Object result = null;
+        String value = null;
+        value = evaluateBean(bean, field);
+
+        if (GenericValidator.isBlankOrNull(value)) {
+            return Boolean.TRUE;
+        }
+
+        Locale locale = RequestUtils.getUserLocale(request, null);
+        result = GenericTypeValidator.formatShort(value, locale);
+
+        if (result == null) {
+            errors.add(field.getKey(), Resources.getActionMessage(validator, 
request, va, field));
+        }
+
+        return result == null ? Boolean.FALSE : result;
+    }
 
 
     /**
@@ -366,6 +443,44 @@
         return result == null ? Boolean.FALSE : result;
     }
 
+    
+    /**
+     * Checks if the field can safely be converted to an int primitive.
+     *
+     * @param  bean     The bean validation is being performed on.
+     * @param  va       The <code>ValidatorAction</code> that is currently 
being performed.
+     * @param  field    The <code>Field</code> object associated with the 
current
+     *      field being validated.
+     * @param  errors   The <code>ActionMessages</code> object to add errors 
to if any
+     *      validation errors occur.
+     * @param validator The <code>Validator</code> instance, used to access
+     * other field values.
+     * @param  request  Current request object.
+     * @return true if valid, false otherwise.
+     */
+    public static Object validateIntegerLocale(Object bean,
+                                          ValidatorAction va, Field field,
+                                          ActionMessages errors,
+                                          Validator validator,
+                                          HttpServletRequest request) {
+        Object result = null;
+        String value = null;
+        value = evaluateBean(bean, field);
+
+        if (GenericValidator.isBlankOrNull(value)) {
+            return Boolean.TRUE;
+        }
+
+        Locale locale = RequestUtils.getUserLocale(request, null);
+        result = GenericTypeValidator.formatInt(value, locale);
+
+        if (result == null) {
+            errors.add(field.getKey(), Resources.getActionMessage(validator, 
request, va, field));
+        }
+
+        return result == null ? Boolean.FALSE : result;
+    }
+    
 
     /**
      * Checks if the field can safely be converted to a long primitive.
@@ -402,6 +517,44 @@
 
         return result == null ? Boolean.FALSE : result;
     }
+    
+    
+    /**
+     * Checks if the field can safely be converted to a long primitive.
+     *
+     * @param  bean     The bean validation is being performed on.
+     * @param  va       The <code>ValidatorAction</code> that is currently 
being performed.
+     * @param  field    The <code>Field</code> object associated with the 
current
+     *      field being validated.
+     * @param  errors   The <code>ActionMessages</code> object to add errors 
to if any
+     *      validation errors occur.
+     * @param validator The <code>Validator</code> instance, used to access
+     * other field values.
+     * @param  request  Current request object.
+     * @return true if valid, false otherwise.
+     */
+    public static Object validateLongLocale(Object bean,
+                                    ValidatorAction va, Field field,
+                                    ActionMessages errors,
+                                    Validator validator,
+                                    HttpServletRequest request) {
+        Object result = null;
+        String value = null;
+        value = evaluateBean(bean, field);
+
+        if (GenericValidator.isBlankOrNull(value)) {
+            return Boolean.TRUE;
+        }
+
+        Locale locale = RequestUtils.getUserLocale(request, null);
+        result = GenericTypeValidator.formatLong(value, locale);
+
+        if (result == null) {
+            errors.add(field.getKey(), Resources.getActionMessage(validator, 
request, va, field));
+        }
+
+        return result == null ? Boolean.FALSE : result;
+    }
 
 
     /**
@@ -440,6 +593,44 @@
         return result == null ? Boolean.FALSE : result;
     }
 
+    
+    /**
+     * Checks if the field can safely be converted to a float primitive.
+     *
+     * @param  bean     The bean validation is being performed on.
+     * @param  va       The <code>ValidatorAction</code> that is currently 
being performed.
+     * @param  field    The <code>Field</code> object associated with the 
current
+     *      field being validated.
+     * @param  errors   The <code>ActionMessages</code> object to add errors 
to if any
+     *      validation errors occur.
+     * @param validator The <code>Validator</code> instance, used to access
+     * other field values.
+     * @param  request  Current request object.
+     * @return true if valid, false otherwise.
+     */
+    public static Object validateFloatLocale(Object bean,
+                                      ValidatorAction va, Field field,
+                                      ActionMessages errors,
+                                      Validator validator,
+                                      HttpServletRequest request) {
+        Object result = null;
+        String value = null;
+        value = evaluateBean(bean, field);
+
+        if (GenericValidator.isBlankOrNull(value)) {
+            return Boolean.TRUE;
+        }
+
+        Locale locale = RequestUtils.getUserLocale(request, null);
+        result = GenericTypeValidator.formatFloat(value, locale);
+
+        if (result == null) {
+            errors.add(field.getKey(), Resources.getActionMessage(validator, 
request, va, field));
+        }
+
+        return result == null ? Boolean.FALSE : result;
+    }
+    
 
     /**
      *  Checks if the field can safely be converted to a double primitive.
@@ -469,6 +660,44 @@
         }
 
         result = GenericTypeValidator.formatDouble(value);
+
+        if (result == null) {
+            errors.add(field.getKey(), Resources.getActionMessage(validator, 
request, va, field));
+        }
+
+        return result == null ? Boolean.FALSE : result;
+    }
+    
+    
+    /**
+     *  Checks if the field can safely be converted to a double primitive.
+     *
+     * @param  bean     The bean validation is being performed on.
+     * @param  va       The <code>ValidatorAction</code> that is currently 
being performed.
+     * @param  field    The <code>Field</code> object associated with the 
current
+     *      field being validated.
+     * @param  errors   The <code>ActionMessages</code> object to add errors 
to if any
+     *      validation errors occur.
+     * @param validator The <code>Validator</code> instance, used to access
+     * other field values.
+     * @param  request  Current request object.
+     * @return true if valid, false otherwise.
+     */
+    public static Object validateDoubleLocale(Object bean,
+                                        ValidatorAction va, Field field,
+                                        ActionMessages errors,
+                                        Validator validator,
+                                        HttpServletRequest request) {
+        Object result = null;
+        String value = null;
+        value = evaluateBean(bean, field);
+
+        if (GenericValidator.isBlankOrNull(value)) {
+            return Boolean.TRUE;
+        }
+
+        Locale locale = RequestUtils.getUserLocale(request, null);
+        result = GenericTypeValidator.formatDouble(value, locale);
 
         if (result == null) {
             errors.add(field.getKey(), Resources.getActionMessage(validator, 
request, va, field));



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to