Ok, I will try it tomorrow!  But do you think this is a bug ???
Because this file is included in the final release of struts 1.1....


Thanks a lot!


Guillaume Cormier

Yansheng Lin wrote:

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]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to