Hi,
You can implement your own Date validator constraint class by extending it with org.alfresco.repo.dictionary.constraint.AbstractConstraint.
You just need to override a method protected void evaluateSingleValue(Object value).
Just type cast value parameter to java.util.Date and you can compare as you want.
Post validation, you can return an appropriate message by throwing ConstraintException which takes message and value as parameters in constraint.
Following is sample code for you:
protected void evaluateSingleValue(Object value)
{
final String ERR_INVALID_DATE = "d_dictionary.constraint.my_date.invalid_date";
// ensure that the value can be converted to a String
Date checkValue = (Date) value;
if(checkValue.before(new Date())) {
throw new ConstraintException(ERR_INVALID_DATE, value);
}
}