The attribute 'datePatternStrict' specified the pattern to be dd-MM-YY for your displayName field. Of course you cannot use the dd/MM/yyyy pattern. Try not to specify a pattern, not even 'datePattern'. Without specifying a datePattern, the server's default Locale is used.
----- <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>dd-MM-yyyy</var-value> </var> </field> ----- -----Original Message----- From: Guillaume Cormier [mailto:[EMAIL PROTECTED] Sent: July 22, 2003 3:50 PM To: Struts Users Mailing List Subject: Re: Struts 1.1 Final - Validate Date field in struts-validator.war I don't understand want you mean.... validation.xml (not validator.xml) is include in the package struts-validator.war Please, verify that the date field is valid only if you enter a date like 'dd-MM-yyyy' (22-07-2002). I think that there is a bug with the i18n validator because the date is only valid if you enter 07/22/2002. So, this is validation.xml include with the release of STRUTS 1.1 (struts-validator.war) : <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd"> <form-validation> <global> <constant> <constant-name>phone</constant-name> <constant-value>^\(?(\d{3})\)?[-| ]?(\d{3})[-| ]?(\d{4})$</constant-value> </constant> <constant> <constant-name>zip</constant-name> <constant-value>^\d{5}\d*$</constant-value> </constant> </global> <formset> <constant> <constant-name>zip</constant-name> <constant-value>^\d{5}(-\d{4})?$</constant-value> </constant> <form name="registrationForm"> <field property="firstName" depends="required,mask,minlength"> <arg0 key="registrationForm.firstname.displayname"/> <arg1 name="minlength" key="${var:minlength}" resource="false"/> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> <var> <var-name>minlength</var-name> <var-value>5</var-value> </var> </field> <field property="lastName" depends="required,mask,maxlength"> <msg name="mask" key="registrationForm.lastname.maskmsg"/> <arg0 key="registrationForm.lastname.displayname"/> <arg1 name="maxlength" key="${var:maxlength}" resource="false"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> <var> <var-name>maxlength</var-name> <var-value>10</var-value> </var> </field> <field property="addr" depends="required"> <arg0 key="registrationForm.addr.displayname"/> </field> <field property="cityStateZip.city" depends="required,mask"> <arg0 key="registrationForm.city.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="cityStateZip.stateProv" depends="required,mask"> <arg0 key="registrationForm.stateprov.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="cityStateZip.zipPostal[1]" depends="required,mask"> <arg0 key="registrationForm.zippostal.displayname"/> <var> <var-name>mask</var-name> <var-value>${zip}</var-value> </var> </field> <field property="phone" depends="mask"> <arg0 key="registrationForm.phone.displayname"/> <var> <var-name>mask</var-name> <var-value>${phone}</var-value> </var> </field> <field property="email" depends="required,email"> <arg0 key="registrationForm.email.displayname"/> </field> </form> <form name="multiRegistrationForm"> <field property="firstName" depends="required,mask" page="1"> <arg0 key="registrationForm.firstname.displayname"/> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> </field> <field property="lastName" depends="required,mask" page="1"> <msg name="mask" key="registrationForm.lastname.maskmsg"/> <arg0 key="registrationForm.lastname.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="addr" depends="required" page="1"> <arg0 key="registrationForm.addr.displayname"/> </field> <field property="cityStateZip.city" depends="required,mask" page="1"> <arg0 key="registrationForm.city.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="cityStateZip.stateProv" depends="required,mask" page="2"> <arg0 key="registrationForm.stateprov.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="cityStateZip.zipPostal[1]" depends="required,mask" page="2"> <arg0 key="registrationForm.zippostal.displayname"/> <var> <var-name>mask</var-name> <var-value>${zip}</var-value> </var> </field> <field property="phone" depends="mask" page="2"> <arg0 key="registrationForm.phone.displayname"/> <var> <var-name>mask</var-name> <var-value>${phone}</var-value> </var> </field> <field property="email" depends="required,email" page="2"> <arg0 key="registrationForm.email.displayname"/> </field> </form> <form name="typeForm"> <field property="byte" depends="required,byte"> <arg0 key="typeForm.byte.displayname"/> </field> <field property="short" depends="required,short"> <arg0 key="typeForm.short.displayname"/> </field> <field property="integer" depends="required,integer,intRange"> <arg0 key="typeForm.integer.displayname"/> <arg1 name="intRange" key="${var:min}" resource="false"/> <arg2 name="intRange" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>10</var-value> </var> <var> <var-name>max</var-name> <var-value>20</var-value> </var> </field> <field property="long" depends="required,long"> <arg0 key="typeForm.long.displayname"/> </field> <field property="float" depends="required,float"> <arg0 key="typeForm.float.displayname"/> </field> <field property="floatRange" depends="required,float,floatRange"> <arg0 key="typeForm.floatRange.displayname"/> <arg1 name="floatRange" key="${var:min}" resource="false"/> <arg2 name="floatRange" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>-2.17</var-value> </var> <var> <var-name>max</var-name> <var-value>3.14</var-value> </var> </field> <field property="double" depends="required,double"> <arg0 key="typeForm.double.displayname"/> </field> <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>MM/dd/yyyy</var-value> </var> </field> <field property="creditCard" depends="required,creditCard"> <arg0 key="typeForm.creditCard.displayname"/> </field> <field property="value" indexedListProperty="nameList" depends="required"> <arg0 key="typeForm.nested.name.displayname"/> </field> </form> <form name="jsTypeForm"> <field property="byte" depends="required,byte"> <arg0 key="typeForm.byte.displayname"/> </field> <field property="short" depends="required,short"> <arg0 key="typeForm.short.displayname"/> </field> <field property="integer" depends="required,integer,intRange"> <arg0 key="typeForm.integer.displayname"/> <arg1 name="intRange" key="${var:min}" resource="false"/> <arg2 name="intRange" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>10</var-value> </var> <var> <var-name>max</var-name> <var-value>20</var-value> </var> </field> <field property="float" depends="required,float"> <arg0 key="typeForm.float.displayname"/> </field> <field property="floatRange" depends="required,float,floatRange"> <arg0 key="typeForm.floatRange.displayname"/> <arg1 name="floatRange" key="${var:min}" resource="false"/> <arg2 name="floatRange" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>-2.17</var-value> </var> <var> <var-name>max</var-name> <var-value>3.14</var-value> </var> </field> <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>MM/dd/yyyy</var-value> </var> </field> <field property="creditCard" depends="required,creditCard"> <arg0 key="typeForm.creditCard.displayname"/> </field> </form> </formset> <formset language="fr"> <form name="registrationForm"> <field property="lastName" depends="required,mask"> <msg name="mask" key="registrationForm.lastname.maskmsg"/> <arg0 key="registrationForm.lastname.displayname"/> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> </field> <field property="cityStateZip.stateProv"> <arg0 key="registrationForm.stateprov.displayname"/> </field> <field property="phone"> <arg0 key="registrationForm.phone.displayname"/> </field> </form> <form name="multiRegistrationForm"> <field property="firstName" depends="required,mask" page="1"> <arg0 key="registrationForm.firstname.displayname"/> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> </field> <field property="lastName" depends="required,mask" page="1"> <msg name="mask" key="registrationForm.lastname.maskmsg"/> <arg0 key="registrationForm.lastname.displayname"/> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> </field> <field property="addr" depends="required" page="1"> <arg0 key="registrationForm.addr.displayname"/> </field> <field property="cityStateZip.city" depends="required,mask" page="1"> <arg0 key="registrationForm.city.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="cityStateZip.stateProv" page="2"> <arg0 key="registrationForm.stateprov.displayname"/> </field> <field property="cityStateZip.zipPostal[1]" depends="required,mask" page="2"> <arg0 key="registrationForm.zippostal.displayname"/> <var> <var-name>mask</var-name> <var-value>${zip}</var-value> </var> </field> <field property="phone" page="2"> <arg0 key="registrationForm.phone.displayname"/> </field> <field property="email" depends="required,email" page="2"> <arg0 key="registrationForm.email.displayname"/> </field> </form> <form name="typeForm"> <field property="integer" depends="required,integer,intRange"> <arg0 key="typeForm.integer.displayname"/> <arg1 name="intRange" key="${var:min}" resource="false"/> <arg2 name="intRange" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>50</var-value> </var> <var> <var-name>max</var-name> <var-value>60</var-value> </var> </field> <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>dd.MM.yyyy</var-value> </var> </field> </form> <form name="jsTypeForm"> <field property="integer" depends="required,integer,intRange"> <arg0 key="typeForm.integer.displayname"/> <arg1 name="intRange" key="${var:min}" resource="false"/> <arg2 name="intRange" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>50</var-value> </var> <var> <var-name>max</var-name> <var-value>60</var-value> </var> </field> <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>dd.MM.yyyy</var-value> </var> </field> </form> </formset> <formset language="fr" country="CA"> <form name="jsTypeForm"> <field property="integer" depends="required,integer,intRange"> <arg0 key="typeForm.integer.displayname"/> <arg1 name="intRange" key="${var:min}" resource="false"/> <arg2 name="intRange" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>100</var-value> </var> <var> <var-name>max</var-name> <var-value>200</var-value> </var> </field> <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>dd-MM-yyyy</var-value> </var> </field> </form> </formset> </form-validation> Yansheng Lin wrote: >Not enough info. Please post your date validation <field> in validator.xml. > > > > >-----Original Message----- >From: Guillaume Cormier [mailto:[EMAIL PROTECTED] >Sent: July 21, 2003 11:20 AM >To: [EMAIL PROTECTED] >Subject: Struts 1.1 Final - Validate Date field in struts-validator.war > > >I am not able to validate the date field when I am in French Canadian Mode. >SomeOne have the same problem ? > >Details : > >When I click on "French Canadian | Francais Canadien - On the JavaScript Type >Form the integer field should fall in a range of 100-200 and the date field >should have a format of 'dd-MM-yyyy'", Date field should be valid if I enter a >date like ' dd-MM-yyyy '. However, it only valid 'MM/dd/yyyy'. > >So, when I click on "JavaScript Type Form - with JavaScript Validation and >Server Validation", the date field validation stay with 'MM/dd/yyyy'. > >If someone have the same problem, please send me an email at >[EMAIL PROTECTED] cause I'm gonna be crazy!! > > >I have tried jsType.jsp with : >OS : WinXP and Win2000 >Browser : IE 6 and Mozilla 1.4 >Tomcat 4.1.24 >JAVA 1.4.2 >Struts 1.1.0 > > >Thanks a lot! > >G Cormier > > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]