[
https://issues.apache.org/struts/browse/WW-2254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43187#action_43187
]
Wes Wannemacher commented on WW-2254:
-------------------------------------
A better approach would be to use the freemarker built-in c, as documented here
-
http://freemarker.org/docs/ref_builtins_number.html#ref_builtin_c. So it should
look like ${validator.maxLength?c}. If/when I get a chance I'll look through
the freemarker files for instances where this is appropriate.
> Stringlength validator xhtml template should be locale independent
> ------------------------------------------------------------------
>
> Key: WW-2254
> URL: https://issues.apache.org/struts/browse/WW-2254
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - Tags
> Affects Versions: 2.0.9
> Environment: Firefox 2
> Reporter: Max Pimm
> Priority: Minor
> Fix For: 2.1.1
>
>
> The freemarker template that generates client side validation for the xhtml
> theme (template/xhtml/form-close-validate.ftl) generates the javascript
> functions for different validators.
> In the case of the stringlength validator there are a series of lines of code
> that are generated that may not work in locales that are not English. For
> example, if you define the maxLength to be 1000.
> value.length > ${validator.maxLength}
> in a Spanish locale outputs
> value.length > 1,000
> Which results in a string comparison rather than a number comparison.
> The solution that i've found is to force the formatting of maxLength and
> minLength in freemarker using ?string("#"). For example
> value.length > ${validator.maxLength?string("#")
> Which outputs the correct version.
> value.length > 1000
> I believe that all references to maxLength and minLength in
> form-close-validate.ft should use this. I haven't looked to see if there are
> other places in the file where a similar error could occur.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.