Uploaded image for project: 'Struts 1'
  1. Struts 1
  2. STR-2321

Validator validwhen comparisons of doubles

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.2.2, Nightly Build
    • 1.4.0
    • Core
    • None
    • Operating System: Windows XP
      Platform: PC
    • 32875

    Description

      I ran into a problem this week where validwhen wasn't working correctly when
      trying to compare 2 doubles. I have 2 fields, one a minimum value and the other
      a maximum value. I setup in the validation.xml this validator dependency:

      <field property="sizeHeightMin" depends="required, double" >
      <arg0 key="displayName.sizeHeightMin" />
      <msg name="double" key="errors.numeric" />
      </field>
      <field property="sizeHeightMax" depends="required, double, validwhen" >
      <arg0 key="displayName.sizeHeightMax" />
      <arg1 key="displayName.sizeHeightMin" />
      <msg name="double" key="errors.numeric" />
      <msg name="validwhen" key="errors.range" />
      <var>
      <var-name>test</var-name>
      <var-value>(this > sizeHeightMin)</var-value>
      </var>
      </field>

      But when I would enter 6.5 for the min and 11.5 for the max it would fail
      validation saying that the max was less than the min. After debugging and
      tracking down the problem I discovered that the evaluateComparison(Object,
      Object, Object) method in ValidWhenParser.class was only checking to see if the
      values were integers and if not doing a string comparison, thus the reason I was
      getting the validation failure. Also in that method it does a check to see if
      the objects passed in are of type Integer.class. Unless I'm missing something I
      don't believe that will ever happen since in ValidWhen.class and in the field
      method of ValidWhenParser.class you retrieve the value with
      ValidatorUtils.getValueAsString(bean, property), thus the value will always be a
      string. I have added a patch for this issue and will be sending it in.

      Attachments

        Issue Links

          Activity

            People

              pbenedict Paul Benedict
              nminshew@gmail.com Nate Minshew
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: