def validate_items(objs, field_validators, **kwargs): errors = ErrorList() for obj, _field_validators in zip(objs, field_validators): try: validate_object(obj, field_validators=_field_validators, **kwargs) except ValidationError as e: errors.add_error(e.detail) if errors: raise ValidationError(errors)
def validate_items(objs, field_validators, **kwargs): errors = ErrorList() for obj, _field_validators in zip(objs, field_validators): try: validate_object( obj, field_validators=_field_validators, **kwargs ) except ValidationError as e: errors.add_error(e.detail) if errors: raise ValidationError(errors)
def apply_validator_to_array(values, validator, **kwargs): with ErrorList() as errors: for value in values: try: validator(value, **kwargs) except ValidationError as err: errors.add_error(err.detail)
def validate_object(self, obj, **kwargs): with ErrorList() as errors: for validator in self: try: validator(obj, **kwargs) except ValidationError as err: errors.add_error(err.detail)
def validate_types(type_, **kwargs): types = pluralize(type_) with ErrorList() as errors: for value in types: try: single_type_validator(value) except ValidationError as err: errors.add_error(err.detail)
def test_adding_mixed_list(): error_list = ErrorList() error_list.add_error([1, 2, [3, 4], 'abc']) assert error_list == [1, 2, 3, 4, 'abc']
def test_adding_string_error_appends(): error_list = ErrorList() error_list.add_error([1, 2]) error_list.add_error('abc') assert error_list == [1, 2, 'abc']
def test_adding_list_of_errors_extends_list(): error_list = ErrorList() error_list.add_error([1, 2]) error_list.add_error([3, 4]) assert error_list == [1, 2, 3, 4]
def test_instantiation_with_list_initial_value(): error_list = ErrorList([1, 2, 3]) assert error_list == [1, 2, 3]
def test_bare_instantiation(): error_list = ErrorList() assert error_list == []
def test_instantiation_with_non_list_initial_value(): error_list = ErrorList('abc') assert error_list == ['abc']