You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Paul Benedict (JIRA)" <ji...@apache.org> on 2007/08/27 01:44:36 UTC
[jira] Resolved: (STR-2321) Validator validwhen comparisons of
doubles.
[ https://issues.apache.org/struts/browse/STR-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Benedict resolved STR-2321.
--------------------------------
Resolution: Fixed
> Validator validwhen comparisons of doubles.
> -------------------------------------------
>
> Key: STR-2321
> URL: https://issues.apache.org/struts/browse/STR-2321
> Project: Struts 1
> Issue Type: Improvement
> Components: Core
> Affects Versions: 1.2.2, Nightly Build
> Environment: Operating System: Windows XP
> Platform: PC
> Reporter: Nate Minshew
> Assignee: Paul Benedict
> Priority: Minor
> Fix For: 1.4.0
>
> Attachments: ValidWhenParser.java
>
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.