[ https://issues.apache.org/struts/browse/STR-3136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43470#action_43470 ]
Ralf Hauser commented on STR-3136: ---------------------------------- when the form fields get filled from the request parameters, apparently, a Integer.valueOf(stingFromBrowser) is done. if the stingFromBrowser = "12", struts will fill in the integer 12 if the stingFromBrowser = "12 ", the form's field value remains on -1 or whatever the default value for the integer field was. ------------- one might go even further and not only strip whitespaces, but also non-numerics, as in Integer.valueOf(intString.trim().toLowerCase().replaceAll("[^0-9]", "")) So, if somebody inadvertently enters "10'000 " into an integer input filed of a struts form, this still would not result in -1, but the correct number... > when an actionform creates an integer field, do a trim() or at least utter an > error message > ------------------------------------------------------------------------------------------- > > Key: STR-3136 > URL: https://issues.apache.org/struts/browse/STR-3136 > Project: Struts 1 > Issue Type: Improvement > Affects Versions: 1.3.9 > Reporter: Ralf Hauser > > currently, when I enter in an integer form field e.g. "12 ", the form arrives > in my struts Action with the default value (0 or -1) > if there were a trim() during the conversion, lots of user input errors could > be avoided without risking to err ... -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.