mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-02 20:54:42 +03:00
Match IntegerField validation with Django's, preventing decimal values being stored as ints, fixes #2835.
Match IntegerField validation with Django IntegerField, prevents decimal values being stored as ints, fixes #2835 On branch master
This commit is contained in:
parent
ecb37f518e
commit
1f10a39d31
|
@ -682,7 +682,7 @@ class IntegerField(Field):
|
|||
self.fail('max_string_length')
|
||||
|
||||
try:
|
||||
data = int(data)
|
||||
data = int(re.compile(r'\.0*\s*$').sub('', str(data)))
|
||||
except (ValueError, TypeError):
|
||||
self.fail('invalid')
|
||||
return data
|
||||
|
|
|
@ -549,10 +549,13 @@ class TestIntegerField(FieldValues):
|
|||
1: 1,
|
||||
0: 0,
|
||||
1.0: 1,
|
||||
0.0: 0
|
||||
0.0: 0,
|
||||
'1.0': 1
|
||||
}
|
||||
invalid_inputs = {
|
||||
'abc': ['A valid integer is required.']
|
||||
0.5: ['A valid integer is required.'],
|
||||
'abc': ['A valid integer is required.'],
|
||||
'0.5': ['A valid integer is required.']
|
||||
}
|
||||
outputs = {
|
||||
'1': 1,
|
||||
|
|
Loading…
Reference in New Issue
Block a user