You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Thiago H. de Paula Figueiredo (JIRA)" <ji...@apache.org> on 2013/11/01 13:09:18 UTC
[jira] [Resolved] (TAP5-2158) Client-side validation of @Size is
not working when only min or max is set
[ https://issues.apache.org/jira/browse/TAP5-2158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thiago H. de Paula Figueiredo resolved TAP5-2158.
-------------------------------------------------
Resolution: Fixed
Fix Version/s: 5.4
> Client-side validation of @Size is not working when only min or max is set
> --------------------------------------------------------------------------
>
> Key: TAP5-2158
> URL: https://issues.apache.org/jira/browse/TAP5-2158
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-beanvalidator
> Affects Versions: 5.4
> Reporter: Balázs Palcsó
> Assignee: Thiago H. de Paula Figueiredo
> Priority: Minor
> Fix For: 5.4
>
>
> Exact version: 5.4-alpha-14
> Server side example:
> {code}
> @Size(min = 3)
> private String name;
> {code}
> On the client side the following function gets executed:
> {code}
> doRangeValidate = function(element, value, memo) {
> var max, min;
> min = rangeValue(element, "data-range-min", 0);
> max = rangeValue(element, "data-range-max", Number.MAX_VALUE);
> if (_.isString(value)) {
> value = value.length;
> }
> if (!((min <= value && value <= max))) {
> memo.error = (element.attribute("data-range-message")) || "RANGE ERROR";
> return false;
> }
> return true;
> };
> {code}
> In the above example max is evaluated to NaN and therefore the function returns false causing validation error.
> Same applies when you only max is specified in @Size annotation and min is evaluated to NaN.
> h3. Workaround
> Specify both min and max.
--
This message was sent by Atlassian JIRA
(v6.1#6144)