Hi Matt, I read that post and it was helpful but I still don't think I understand what is meant by
"use a String property, and then do some custom formatting (after validation) to make it into a date". If I understand correctly when you said that it doesn't make sense to "to validate a java.util.Date (since it's already a java.util.Date)" I am a bit confused because I thought the validator was being used to ensure the text input from the form was in the correct format before being processed by server side logic. I also am trying to add validation logic to verify that the start date is before the end date. It is breaking with a similar error: [keymanager] DEBUG [main] KeyMetadataFormController.showNewForm(322) | Displaying new form [keymanager] DEBUG [main] KeyMetadataFormControllerTest.testSave(51) | 2005-01-0 1 00:00:00.0 [keymanager] DEBUG [main] KeyMetadataFormControllerTest.testSave(52) | 2007-01-0 1 00:00:00.0 [keymanager] DEBUG [main] KeyMetadataFormController.processFormSubmission(256) | Data binding errors: 1 [keymanager] DEBUG [main] KeyMetadataFormControllerTest.testSave(58) | org.sprin gframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'keyMetadata' on field 'endDate': rejected value [Mon Jan 01 00:00:00 PST 2007]; codes [endDate.keyMetadata.endDate,endDate.endDate ,endDat e.java.util.Date,endDate]; arguments []; default message [The End Date has to be after the Start Date] [keymanager] INFO [main] KeyMetadataFormControllerTest.endTransaction(290) | Rol led back transaction after test execution I took out the "date" in depends just to see if I could get farther: //validation.xml <field property="startDate" depends="required"> <arg0 key="keyMetadata.startDate"/> <var> <var-name>datePattern</var-name> <var-value>MM/dd/yyyy</var-value> </var> </field> <field property="endDate" depends="required"> <arg0 key="keyMetadata.endDate"/> <var> <var-name>datePattern</var-name> <var-value>MM/dd/yyyy</var-value> </var> </field> //dispatcher-servlet.xml <bean id="keyMetadataFormController" class=" com.intuit.security.keymanager.webapp.controller.KeyMetadataFormController"> <property name="validators"> <list> <ref bean="beanValidator"/> <!--Commons Server-side validation --> <ref bean="endDateValidator"/> <!--Spring validation --> </list> </property> <property name="successView" value="redirect:keymetadatas.html"/> <property name="keyMetadataManager" ref="keyMetadataManager"/> <property name="typeCodeManager" ref="typeCodeManager"/> </bean> //applicationContext-validation.xml <bean id="endDateValidator" class=" org.springmodules.validation.valang.ValangValidator"> <property name="valang"> <value> <![CDATA[ { endDate : endDate < startDate : 'The End Date has to be after the Start Date'} ]]> </value> </property> <property name="dateParserRegistrations"> <map> <entry key="^d{2}/d{2}/d{4}$" value="MM/dd/yyyy"/> </map> </property> </bean> Regards, Abe On 8/8/07, Matt Raible <[EMAIL PROTECTED]> wrote: > > This should help: > > > http://www.jroller.com/raible/entry/validating_dates_with_commons_validator > > Matt > > On 8/8/07, Developer Abe <[EMAIL PROTECTED]> wrote: > > Getting the following: > > > > [keymanager] DEBUG [main] > > KeyMetadataFormController.showNewForm(322) | Displayin > > g new form > > [keymanager] DEBUG [main] > > KeyMetadataFormControllerTest.testSave(51) | 2005-01-0 > > 1 00:00:00.0 > > [keymanager] DEBUG [main] > > KeyMetadataFormControllerTest.testSave(52) | 2007-01-0 > > 1 00:00:00.0 > > [keymanager] DEBUG [main] > > KeyMetadataFormController.processFormSubmission(256) | > > Data binding errors: 2 > > [keymanager] DEBUG [main] > > KeyMetadataFormControllerTest.testSave (58) | org.sprin > > gframework.validation.BeanPropertyBindingResult: 2 errors > > Field error in object 'keyMetadata' on field 'startDate': rejected value > > [Sat Ja > > n 01 00:00:00 PST 2005]; codes [ > > errors.date.keyMetadata.startDate,errors.date.st > > artDate,errors.date.java.util.Date,errors.date]; arguments > > [org.springframework. > > context.support.DefaultMessageSourceResolvable: codes [ > > keyMetadata.startDate]; a > > rguments []; default message [keyMetadata.startDate]]; default message > > [errors.d > > ate] > > Field error in object 'keyMetadata' on field 'endDate': rejected value > [Mon > > Jan > > 01 00:00:00 PST 2007]; codes > > [errors.date.keyMetadata.endDate,errors.date.endDat > > e,errors.date.java.util.Date,errors.date]; arguments > > [org.springframework.contex > > t.support.DefaultMessageSourceResolvable: codes [ > > keyMetadata.endDate]; arguments > > []; default message [keyMetadata.endDate]]; default message [ > errors.date] > > [keymanager] INFO [main] > > KeyMetadataFormControllerTest.endTransaction(290) | Rol > > led back transaction after test execution > > [keymanager] INFO [main] > > KeyMetadataFormControllerTest.startNewTransaction(323) > > | Began transaction (1): transaction manager > > [org.springframework.orm.hibernate3 > > [EMAIL PROTECTED]; default rollback = > > true > > [keymanager] DEBUG [main] > > KeyMetadataFormController.processFormSubmission(256) | > > Data binding errors: 2 > > [keymanager] INFO [main] > > KeyMetadataFormControllerTest.endTransaction (290) | Rol > > led back transaction after test execution > > Tests run: 3, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 109.045sec > > <<< > > FAILURE! > > Running > > > com.intuit.security.keymanager.webapp.controller.KeyMetadataControllerTest > > > > With the following config: > > > > <field property="startDate" depends="required, date"> > > <arg0 key="keyMetadata.startDate"/> > > <var> > > <var-name>datePattern</var-name> > > <var-value>MM/dd/yyyy</var-value> > > </var> > > </field> > > <field property="endDate" depends="required, date"> > > <arg0 key=" keyMetadata.endDate"/> > > <var> > > <var-name>datePattern</var-name> > > <var-value>MM/dd/yyyy</var-value> > > </var> > > </field> > > > > The java.util.Dates are getting populated into the model object > correctly > > but I am getting the error above. > > > > Does anyone know what I could be doing wrong. > > > > Thanks, > > Abe > > > > > > > -- > http://raibledesigns.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >