def validate(self, value):
errors = []<EOL>valid = self._is_valid(value)<EOL>if not valid:<EOL><INDENT>errors.append(self.fail(value))<EOL>return errors<EOL><DEDENT>for constraint in self._constraints_inst:<EOL><INDENT>error = constraint.is_valid(value)<EOL>if error:<EOL><INDENT>errors.append(error)<EOL><DEDENT><DEDENT>return errors<EOL>
Check if ``value`` is valid.

:returns: [errors] If ``value`` is invalid, otherwise [].