mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-06 05:20:12 +03:00
Merge 2cd41620c5
into aed8387e05
This commit is contained in:
commit
aa20dff7e3
|
@ -732,11 +732,9 @@ class CharField(Field):
|
||||||
self.min_length = kwargs.pop('min_length', None)
|
self.min_length = kwargs.pop('min_length', None)
|
||||||
super(CharField, self).__init__(**kwargs)
|
super(CharField, self).__init__(**kwargs)
|
||||||
if self.max_length is not None:
|
if self.max_length is not None:
|
||||||
message = self.error_messages['max_length'].format(max_length=self.max_length)
|
self.validators.append(MaxLengthValidator(self.max_length))
|
||||||
self.validators.append(MaxLengthValidator(self.max_length, message=message))
|
|
||||||
if self.min_length is not None:
|
if self.min_length is not None:
|
||||||
message = self.error_messages['min_length'].format(min_length=self.min_length)
|
self.validators.append(MinLengthValidator(self.min_length))
|
||||||
self.validators.append(MinLengthValidator(self.min_length, message=message))
|
|
||||||
|
|
||||||
def run_validation(self, data=empty):
|
def run_validation(self, data=empty):
|
||||||
# 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,
|
||||||
|
@ -887,11 +885,9 @@ class IntegerField(Field):
|
||||||
self.min_value = kwargs.pop('min_value', None)
|
self.min_value = kwargs.pop('min_value', None)
|
||||||
super(IntegerField, self).__init__(**kwargs)
|
super(IntegerField, self).__init__(**kwargs)
|
||||||
if self.max_value is not None:
|
if self.max_value is not None:
|
||||||
message = self.error_messages['max_value'].format(max_value=self.max_value)
|
self.validators.append(MaxValueValidator(self.max_value))
|
||||||
self.validators.append(MaxValueValidator(self.max_value, message=message))
|
|
||||||
if self.min_value is not None:
|
if self.min_value is not None:
|
||||||
message = self.error_messages['min_value'].format(min_value=self.min_value)
|
self.validators.append(MinValueValidator(self.min_value))
|
||||||
self.validators.append(MinValueValidator(self.min_value, message=message))
|
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
def to_internal_value(self, data):
|
||||||
if isinstance(data, six.text_type) and len(data) > self.MAX_STRING_LENGTH:
|
if isinstance(data, six.text_type) and len(data) > self.MAX_STRING_LENGTH:
|
||||||
|
@ -921,11 +917,9 @@ class FloatField(Field):
|
||||||
self.min_value = kwargs.pop('min_value', None)
|
self.min_value = kwargs.pop('min_value', None)
|
||||||
super(FloatField, self).__init__(**kwargs)
|
super(FloatField, self).__init__(**kwargs)
|
||||||
if self.max_value is not None:
|
if self.max_value is not None:
|
||||||
message = self.error_messages['max_value'].format(max_value=self.max_value)
|
self.validators.append(MaxValueValidator(self.max_value))
|
||||||
self.validators.append(MaxValueValidator(self.max_value, message=message))
|
|
||||||
if self.min_value is not None:
|
if self.min_value is not None:
|
||||||
message = self.error_messages['min_value'].format(min_value=self.min_value)
|
self.validators.append(MinValueValidator(self.min_value))
|
||||||
self.validators.append(MinValueValidator(self.min_value, message=message))
|
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
def to_internal_value(self, data):
|
||||||
|
|
||||||
|
@ -974,11 +968,9 @@ class DecimalField(Field):
|
||||||
super(DecimalField, self).__init__(**kwargs)
|
super(DecimalField, self).__init__(**kwargs)
|
||||||
|
|
||||||
if self.max_value is not None:
|
if self.max_value is not None:
|
||||||
message = self.error_messages['max_value'].format(max_value=self.max_value)
|
self.validators.append(MaxValueValidator(self.max_value))
|
||||||
self.validators.append(MaxValueValidator(self.max_value, message=message))
|
|
||||||
if self.min_value is not None:
|
if self.min_value is not None:
|
||||||
message = self.error_messages['min_value'].format(min_value=self.min_value)
|
self.validators.append(MinValueValidator(self.min_value))
|
||||||
self.validators.append(MinValueValidator(self.min_value, message=message))
|
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
def to_internal_value(self, data):
|
||||||
"""
|
"""
|
||||||
|
@ -1752,8 +1744,7 @@ class ModelField(Field):
|
||||||
max_length = kwargs.pop('max_length', None)
|
max_length = kwargs.pop('max_length', None)
|
||||||
super(ModelField, self).__init__(**kwargs)
|
super(ModelField, self).__init__(**kwargs)
|
||||||
if max_length is not None:
|
if max_length is not None:
|
||||||
message = self.error_messages['max_length'].format(max_length=max_length)
|
self.validators.append(MaxLengthValidator(max_length))
|
||||||
self.validators.append(MaxLengthValidator(max_length, message=message))
|
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
def to_internal_value(self, data):
|
||||||
rel = get_remote_field(self.model_field, default=None)
|
rel = get_remote_field(self.model_field, default=None)
|
||||||
|
|
|
@ -39,7 +39,7 @@ class TestSimpleBoundField:
|
||||||
serializer.is_valid()
|
serializer.is_valid()
|
||||||
|
|
||||||
assert serializer['text'].value == 'x' * 1000
|
assert serializer['text'].value == 'x' * 1000
|
||||||
assert serializer['text'].errors == ['Ensure this field has no more than 100 characters.']
|
assert serializer['text'].errors == ['Ensure this value has at most 100 characters (it has 1000).']
|
||||||
assert serializer['text'].name == 'text'
|
assert serializer['text'].name == 'text'
|
||||||
assert serializer['amount'].value is 123
|
assert serializer['amount'].value is 123
|
||||||
assert serializer['amount'].errors is None
|
assert serializer['amount'].errors is None
|
||||||
|
|
|
@ -155,7 +155,7 @@ class TestRootView(TestCase):
|
||||||
data = {'text': 'foobar' * 100}
|
data = {'text': 'foobar' * 100}
|
||||||
request = factory.post('/', data, HTTP_ACCEPT='text/html')
|
request = factory.post('/', data, HTTP_ACCEPT='text/html')
|
||||||
response = self.view(request).render()
|
response = self.view(request).render()
|
||||||
expected_error = '<span class="help-block">Ensure this field has no more than 100 characters.</span>'
|
expected_error = '<span class="help-block">Ensure this value has at most 100 characters (it has 600).</span>'
|
||||||
self.assertIn(expected_error, response.rendered_content.decode('utf-8'))
|
self.assertIn(expected_error, response.rendered_content.decode('utf-8'))
|
||||||
|
|
||||||
|
|
||||||
|
@ -302,7 +302,7 @@ class TestInstanceView(TestCase):
|
||||||
data = {'text': 'foobar' * 100}
|
data = {'text': 'foobar' * 100}
|
||||||
request = factory.put('/', data, HTTP_ACCEPT='text/html')
|
request = factory.put('/', data, HTTP_ACCEPT='text/html')
|
||||||
response = self.view(request, pk=1).render()
|
response = self.view(request, pk=1).render()
|
||||||
expected_error = '<span class="help-block">Ensure this field has no more than 100 characters.</span>'
|
expected_error = '<span class="help-block">Ensure this value has at most 100 characters (it has 600).</span>'
|
||||||
self.assertIn(expected_error, response.rendered_content.decode('utf-8'))
|
self.assertIn(expected_error, response.rendered_content.decode('utf-8'))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user