1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
package monPackage;
import java.io.Serializable;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.validator.*;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.validator.FieldChecks;
import org.apache.struts.validator.Resources;
public class MonValidator extends FieldChecks
implements Serializable
{
public Validator()
{
}
public static boolean validateDateBeforeThan(Object bean, ValidatorAction va, Field field, ActionErrors errors, HttpServletRequest request)
{
String datePattern = field.getVarValue("datePattern");
String datePatternStrict = field.getVarValue("datePatternStrict");
java.util.Locale locale = Resources.getLocale(request);
String value = null;
Date dateWhichMustBeBefore = null;
Date dateWhichMustBeAfter = null;
if(FieldChecks.isString(bean))
value = (String)bean;
else
value = ValidatorUtil.getValueAsString(bean, field.getProperty());
String dependProp = field.getVarValue("field[0]");
String otherValue = ValidatorUtil.getValueAsString(bean, dependProp);
if(!GenericValidator.isBlankOrNull(value))
{
try
{
if(datePattern != null && datePattern.length() > 0)
{
dateWhichMustBeBefore = GenericTypeValidator.formatDate(value, datePattern, false);
dateWhichMustBeAfter = GenericTypeValidator.formatDate(otherValue, datePattern, false);
} else
if(datePatternStrict != null && datePatternStrict.length() > 0)
{
dateWhichMustBeBefore = GenericTypeValidator.formatDate(value, datePatternStrict, false);
dateWhichMustBeAfter = GenericTypeValidator.formatDate(otherValue, datePatternStrict, false);
} else
{
dateWhichMustBeBefore = GenericTypeValidator.formatDate(value, locale);
dateWhichMustBeAfter = GenericTypeValidator.formatDate(otherValue, locale);
}
}
catch(Exception e)
{
Trace.error(MODULE_LOG, "Validator", "validateDateBeforeThan", e);
}
if(dateWhichMustBeBefore == null || dateWhichMustBeAfter == null)
errors.add(field.getKey(), Resources.getActionError(request, va, field));
if(!dateWhichMustBeBefore.before(dateWhichMustBeAfter))
{
errors.add(field.getKey(), Resources.getActionError(request, va, field));
return false;
} else
{
return true;
}
} else
{
return false;
}
}
} |