rleland     2002/10/11 12:12:26

  Modified:    conf/share validator-rules.xml
  Log:
  Bug [10191]
  add intRange & floatRange validation fo
  floating point numbers can be bounded.
  
  Revision  Changes    Path
  1.9       +87 -0     jakarta-struts/conf/share/validator-rules.xml
  
  Index: validator-rules.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/conf/share/validator-rules.xml,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- validator-rules.xml       16 Jul 2002 02:37:55 -0000      1.8
  +++ validator-rules.xml       11 Oct 2002 19:12:26 -0000      1.9
  @@ -631,6 +631,93 @@
   
         </validator>
   
  +      <validator name="intRange"
  +            classname="org.apache.struts.util.StrutsValidator"
  +               method="validateIntRange"
  +         methodParams="java.lang.Object,
  +                       org.apache.commons.validator.ValidatorAction,
  +                       org.apache.commons.validator.Field,
  +                       org.apache.struts.action.ActionErrors,
  +                       javax.servlet.http.HttpServletRequest"
  +              depends="required,integer"
  +                  msg="errors.range">
  +
  +         <javascript><![CDATA[
  +            function validateIntRange(form) {
  +                var bValid = true;
  +                var focusField = null;
  +                var i = 0;
  +                var fields = new Array();
  +                oRange = new intRange();
  +                for (x in oRange) {
  +                    if ((form[oRange[x][0]].type == 'text' ||
  +                         form[oRange[x][0]].type == 'textarea') &&
  +                        (form[oRange[x][0]].value.length > 0)) {
  +                        var iMin = parseInt(oRange[x][2]("min"));
  +                        var iMax = parseInt(oRange[x][2]("max"));
  +                        var iValue = parseInt(form[oRange[x][0]].value);
  +                        if (!(iValue >= iMin && iValue <= iMax)) {
  +                            if (i == 0) {
  +                                focusField = form[oRange[x][0]];
  +                            }
  +                            fields[i++] = oRange[x][1];
  +                            bValid = false;
  +                        }
  +                    }
  +                }
  +                if (fields.length > 0) {
  +                    focusField.focus();
  +                    alert(fields.join('\n'));
  +                }
  +                return bValid;
  +            }]]>
  +         </javascript>
  +
  +      </validator>
  +
  +      <validator name="floatRange"
  +            classname="org.apache.struts.util.StrutsValidator"
  +               method="validateFloatRange"
  +         methodParams="java.lang.Object,
  +                       org.apache.commons.validator.ValidatorAction,
  +                       org.apache.commons.validator.Field,
  +                       org.apache.struts.action.ActionErrors,
  +                       javax.servlet.http.HttpServletRequest"
  +              depends="required,float"
  +                  msg="errors.range">
  +
  +         <javascript><![CDATA[
  +            function validateFloatRange(form) {
  +                var bValid = true;
  +                var focusField = null;
  +                var i = 0;
  +                var fields = new Array();
  +                oRange = new floatRange();
  +                for (x in oRange) {
  +                    if ((form[oRange[x][0]].type == 'text' ||
  +                         form[oRange[x][0]].type == 'textarea') &&
  +                        (form[oRange[x][0]].value.length > 0)) {
  +                        var fMin = parseFloat(oRange[x][2]("min"));
  +                        var fMax = parseFloat(oRange[x][2]("max"));
  +                        var fValue = parseFloat(form[oRange[x][0]].value);
  +                        if (!(fValue >= fMin && fValue <= fMax)) {
  +                            if (i == 0) {
  +                                focusField = form[oRange[x][0]];
  +                            }
  +                            fields[i++] = oRange[x][1];
  +                            bValid = false;
  +                        }
  +                    }
  +                }
  +                if (fields.length > 0) {
  +                    focusField.focus();
  +                    alert(fields.join('\n'));
  +                }
  +                return bValid;
  +            }]]>
  +         </javascript>
  +
  +      </validator>
   
         <validator name="creditCard"
               classname="org.apache.struts.util.StrutsValidator"
  
  
  

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

Reply via email to