[ 
https://issues.apache.org/jira/browse/WW-3119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12879554#action_12879554
 ] 

weiliang...@yahoo.com commented on WW-3119:
-------------------------------------------

sorry. is this qunhuan mei from nan jing, china?

--
This message was sent on behalf of weiliang...@yahoo.com at openSubscriber.com
http://www.opensubscriber.com/message/issues@struts.apache.org/12100800.html


> Stringlength validation problem for utf-8 chars (Struts 2.1.6)
> --------------------------------------------------------------
>
>                 Key: WW-3119
>                 URL: https://issues.apache.org/jira/browse/WW-3119
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Interceptors
>    Affects Versions: 2.1.6
>         Environment: Win XP, Eclipes, Tomcat
>            Reporter: Qunhuan Mei
>            Assignee: Wes Wannemacher
>            Priority: Critical
>             Fix For: 2.1.8
>
>
> When I try to validate utf-8 chars such as Chinese using Struts 2.1.6, the 
> stringlength validation appears to have problem. It seems the validation 
> process is not using the number of Chinese chars before encoding, but rather 
> the number of chars after encoding. The following are the steps to reproduce 
> the problem:
> 1.    Create a project by importing struts2-blank-2.1.6.war from 
> ...\struts-2.1.6\apps" 
> and make the login.jsp work with Login.java, e.g. print out the 
> username.length() in setUsername(...) function.
> 2.    copy the following stringlength validation code into 
> Login-validation.xml:
> <field-validator type="stringlength">
>               <param name="maxLength">4</param>
>               <param name="trim">true</param>
>               <message key="fieldNameShouldBeWithinMaxLength"/>               
> </field-validator>
> 3.    copy the following stringlength error message into package.properties:
> fieldNameShouldBeWithinMaxLength=The max number of chars of 
> ${getText(fieldName)} is ${getText(maxLength)}
> 4.    run the login.jsp and type in either "abcd" and "abcde" into username, 
> we can see that "abcd" does not incur a validation message whereas "abcde" 
> does.
> 5.    now typing 2 Chinese chars, say "世界"into the user name, which should 
> not have any problem since only 2 chars. However the struts reports the chars 
> received are more than 4. As a matter of fact, the print out statement in 
> setUsername(...) reports the number of chars is 6.
> Qunhuan Mei
> BTW: is there any way to access the validation code from struts 2.1.7 (this 
> bug may have been fixed by the 2.1.7 code)? Thanks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to