code: def ValidateDate(date, column_name=None, problems=None):
    
    if IsEmpty(date) or IsValidDate(date):
      return True
    else:
      if problems:
        problems.InvalidValue(column_name, date)
      return False
docs: Validates a non-required date string value using IsValidDate():
      - if invalid adds InvalidValue error (if problems accumulator is provided)
      - an empty date string is regarded as valid! Otherwise we might end up
        with many duplicate errors because of the required field checks.