Locale Date Validation with Client Side Javascript
--------------------------------------------------
Key: STR-3193
URL: https://issues.apache.org/struts/browse/STR-3193
Project: Struts 1
Issue Type: Bug
Components: Tag Libraries
Affects Versions: 1.3.10
Environment: Windows XP or Suse 10.2, JBoss 4.2.3, Struts 1.3.10,
JDK1.5_16
Reporter: David Webb
This bug has to do with the struts-taglib package, specifically the code
generated by <html:javascript> which comes from the
org.apache.struts.taglib.html.JavascriptValidatorTag class.
My implementation of the patch may not be the most effective way to accomplish
this, but the bug prevents a true Locale specific implementation of Forms with
Dates.
>From the Struts Validation Documentation (which holds true on the server side
>validation):
"If no pattern is specified the default short date format is assumed."
However, if you define a Form Field as a "date" with no pattern, the client
side javascript does not render the datePattern in the javascript and causes a
clientside js NPE when checking the length of this.datePattern.
I have added an additional method for formatting the Locale SHORT date format
to fill out in the MM, dd, and yyyy elements required by the static javascript
generator from the Commons-Validator project.
The real patch is when looping over form fields from validation.xml. I check
if it is a type "date" then keep track of whether or not a var named
"datePattern" exists. If not, I add datePattern based on the Local passed in.
Please let me know if I can help. This is a really important feature for my
application.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.