I am having troubles getting my own validator to work, I wonder if it is the 
classpath where I am pointing to my Class with? I am trying to create a 
dateRange validation to determin if the date falls between two dates or not. 
This is what I have in my validation.xml

>               <field property="startDate" depends="required,date,dateRange">
>                       <arg0 key="Start Date" resource="false"/>
>                       
> <var><var-name>datePattern</var-name><var-value>MM/dd/yyyy</var-value></var>
>                       
> <var><var-name>minDate</var-name><var-value>07/01/2003</var-value></var>
>                                                                
> <var><var-name>maxDate</var-name><var-value>06/30/2004</var-value></var>
>               </field>

> this is what I have in my validator-rules

>       <validator name="dateRange"
>               classname="gov.utah.dhs.pats.util.ValidationUtil"
>                method="validateDateRange"
>          methodParams="java.lang.Object,
>       org.apache.commons.validator.ValidatorAction,
>       org.apache.commons.validator.Field,
>                       org.apache.struts.action.ActionMessages,
>                       javax.servlet.http.HttpServletRequest"
>               depends=""
>                   msg="errors.dateRange"/>

>  and my class looks like this, notice I have a println at the start of my 
> program, it is like it is completely ignoring my class, I am clueless how to 
> test this and to see what is really happening, I don't have much experience 
> with struts so please any suggestions would help,thank you...

> package gov.utah.dhs.pats.util;
> import java.text.SimpleDateFormat;
> import java.util.Date;
> import javax.servlet.http.HttpServletRequest;
> import org.apache.commons.validator.Field;
> import org.apache.commons.validator.ValidatorAction;
> import org.apache.commons.validator.util.ValidatorUtils;
> import org.apache.struts.action.ActionMessages;
> import org.apache.struts.validator.Resources;
> public class ValidationUtil {
>         public static final String DEFAULT_FORM_DATE_PATTERN = "M/dd/yyyy";
>         public static final Date DEFAULT_MIN_DATE = getDefaultMinDate();
>         public static final Date DEFAULT_MAX_DATE = getDefaultMaxDate();
>         public static boolean validateDateRange(Object bean, ValidatorAction 
> va, Field field, ActionMessages msg, HttpServletRequest request) {
>               //if we're not properly configured to parse dates,
>               //all date validation will fail
>               System.out.println("!!!!!!!!!!!!!INSIDE THE VALIDATION UTILITY 
> the FIELD.. " + field );
>               if (DEFAULT_MIN_DATE == null || DEFAULT_MAX_DATE == null) 
> return false;
>               try {
>                 String value = ValidatorUtils.getValueAsString(bean, 
> field.getProperty());
>                 Date date = getDate(value, DEFAULT_FORM_DATE_PATTERN);
>                 Date minDate = getDate(field.getVarValue("minDate"),  
> DEFAULT_FORM_DATE_PATTERN);
>                 Date maxDate = getDate(field.getVarValue("maxDate"), 
> DEFAULT_FORM_DATE_PATTERN);
>                 if (date.compareTo(minDate) < 0 || date.compareTo(maxDate) > 
> 0) {
>                       msg.add(field.getKey().toString(), 
> Resources.getActionMessage(request, va, field));
>                       return false;
>                 }
>                 return true;
>               }
>               catch (Exception e) {
>                 e.printStackTrace();
>                 msg.add(field.getKey().toString(), 
> Resources.getActionMessage(request, va, field));
>                 return false;
>               }
>         }
>         
>       protected static Date getDate(String dateString, String pattern) {
>         Date date = null;
>         try {
>               SimpleDateFormat df = new SimpleDateFormat(pattern);
>               date = df.parse(dateString);
>         }
>         catch (Exception e) {
>               e.printStackTrace();
>         }
>         return date;
>       }
>       protected static Date getDefaultMinDate() {
>         return getDate("01/01/1900", DEFAULT_FORM_DATE_PATTERN);
>       }
>       protected static Date getDefaultMaxDate() {
>         return getDate("12/31/2030", DEFAULT_FORM_DATE_PATTERN);
>       }
>   }

> if anyone can please just help guide me a bit on this I would appreciate it. 


Dwight S. Galloway
(801) 538-4234
[EMAIL PROTECTED]
Department of Technology Services
MAKE IT A GREAT DAY! 



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

Reply via email to