struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Gordon <adam.gor...@readytalk.com>
Subject Re: Accepting multiple date masks with the "date" validator
Date Thu, 03 Aug 2006 16:46:23 GMT
Heh.  Regular Expressions aren't for everyone - I happen to work w/ two 
engineers who live and die by them.

In your bean setter for the date, I'd make sure no exceptions could be 
thrown, or handle them - the code I took over from an engineer we had 
that left had this issue and it took me almost a week to track down what 
was going on between the validator and his code.

-adam

Scott Van Wart wrote:
> Adam Gordon wrote:
>> IIOC, the only way you can do this with the stock validator is to use 
>> "mask"
>> rather than "date" as the validator.  Then, you can use a regex to 
>> dictate
>> your mask.  I'll warn you though, if you use a regular expression 
>> it's going
>> to be VERY long because it will also need to validate that the date 
>> entered
>> is valid.  Additionally, the stock date validator accepts dates like 
>> 30 FEB
>> YYYY and just rolls it to the appropriate March date.  Here's the 
>> REGEX we
>> use (note that the regex is all on one line with no spaces:
>>
>> <var>
>>   <var-name>mask</var-name>
>>  
>> <var-value>^(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])/(2

>>
>> 9|30)|(0?[13578]|1[02])/31)/(20)((0[6-9])|(10))|0?2/29/((20)(0[48])))$</var- 
>>
>> value>
>> </var>
>>
>> Alternatively, you can override the validate method in your 
>> ValidatorForm
>> and do it yourself - which given your requirements, sounds like the 
>> easier
>> of the two options.
>>   
> Holy lipton that's nuts.  I think I'll see what's behind door number 3:
>
> public void setDate( String date )
> {
>  this.date = translateDate( date ); // where translateDate inserts the 
> slashes if necessary
> }
>
> So I can use the "date" validator with no problems, and when the 
> client submits the form, they get back a slash-separated date in the 
> input field.
>
> Thanks for the help :)
>
> - Scott
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message