mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-06 21:40:13 +03:00
parent
e34e0536b1
commit
74657ed9ee
|
@ -576,14 +576,18 @@ class CharField(Field):
|
||||||
self.validators.append(MinLengthValidator(self.min_length, message=message))
|
self.validators.append(MinLengthValidator(self.min_length, message=message))
|
||||||
|
|
||||||
def run_validation(self, data=empty):
|
def run_validation(self, data=empty):
|
||||||
|
(is_empty_value, data) = self.validate_empty_values(data)
|
||||||
|
if is_empty_value:
|
||||||
|
return data
|
||||||
|
|
||||||
|
value = self.to_internal_value(data)
|
||||||
# Test for the empty string here so that it does not get validated,
|
# Test for the empty string here so that it does not get validated,
|
||||||
# and so that subclasses do not need to handle it explicitly
|
# and so that subclasses do not need to handle it explicitly
|
||||||
# inside the `to_internal_value()` method.
|
# inside the `to_internal_value()` method.
|
||||||
if data == '':
|
if value == '':
|
||||||
if not self.allow_blank:
|
if not self.allow_blank:
|
||||||
self.fail('blank')
|
self.fail('blank')
|
||||||
return ''
|
return super(CharField, self).run_validation(value)
|
||||||
return super(CharField, self).run_validation(data)
|
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
def to_internal_value(self, data):
|
||||||
value = six.text_type(data)
|
value = six.text_type(data)
|
||||||
|
|
|
@ -462,6 +462,13 @@ class TestCharField(FieldValues):
|
||||||
field = serializers.CharField(trim_whitespace=False)
|
field = serializers.CharField(trim_whitespace=False)
|
||||||
assert field.to_internal_value(' abc ') == ' abc '
|
assert field.to_internal_value(' abc ') == ' abc '
|
||||||
|
|
||||||
|
def test_disallow_blank_with_trim_whitespace(self):
|
||||||
|
field = serializers.CharField(allow_blank=False, trim_whitespace=True)
|
||||||
|
|
||||||
|
with pytest.raises(serializers.ValidationError) as exc_info:
|
||||||
|
field.run_validation(' ')
|
||||||
|
assert exc_info.value.detail == ['This field may not be blank.']
|
||||||
|
|
||||||
|
|
||||||
class TestEmailField(FieldValues):
|
class TestEmailField(FieldValues):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue
Block a user