Run the class validations against the instance. If the validations require database access,
    pass in a DataAccess derived instance.

def validate(self, data_access=None):
    """Run the class validations against the instance. If the validations require database access,
    pass in a DataAccess derived instance.
    """
    self.clear_errors()
    self.before_validation()
    self.validator.validate(self, data_access)
    return not self.has_errors