Commit d11b5564 by David Medina

Bugfix: Fix run validation layer with invalid data

parent 85fe7197
......@@ -315,6 +315,7 @@ class BaseSerializer(WritableField):
self._errors = {}
if data is not None or files is not None:
attrs = self.restore_fields(data, files)
if attrs is not None:
attrs = self.perform_validation(attrs)
else:
self._errors['non_field_errors'] = ['No input provided']
......
......@@ -63,3 +63,16 @@ class TestPreSaveValidationExclusions(TestCase):
# does not have `blank=True`, so this serializer should not validate.
serializer = ShouldValidateModelSerializer(data={'renamed': ''})
self.assertEqual(serializer.is_valid(), False)
class FieldValidationSerializer(serializers.Serializer):
foo = serializers.CharField()
def validate_foo(self, attrs, source):
raise StandardError("validate_foo was called")
class TestFieldValidationWithInvalidData(TestCase):
def test_validate_foo_was_not_called(self):
serializer = FieldValidationSerializer(data='invalid data')
self.assertFalse(serializer.is_valid())
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment