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]

Reply via email to