diff --git a/rest_framework/fields.py b/rest_framework/fields.py index c0253f86b8..fe0b3197e6 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -454,7 +454,7 @@ def from_native(self, value): return True if value in ('false', 'f', 'False', '0'): return False - return bool(value) + raise ValidationError(self.error_messages['invalid'] % _(value)) class CharField(WritableField): diff --git a/tests/test_fields.py b/tests/test_fields.py index 0ddbe48b5b..68a20ccc4e 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -1002,6 +1002,7 @@ class BooleanRequiredSerializer(serializers.Serializer): bool_field = serializers.BooleanField(required=True) self.assertFalse(BooleanRequiredSerializer(data={}).is_valid()) + self.assertFalse(BooleanRequiredSerializer(data={'bool_field': 'I\'m a string!'}).is_valid()) class ModelCharField(TestCase):