mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-04 04:20:12 +03:00
Do not allow empty values when required=True and partial=True
This commit is contained in:
parent
9841069373
commit
1e9cde6f21
|
@ -275,10 +275,10 @@ class WritableField(Field):
|
||||||
assert not (read_only and write_only), "Cannot set read_only=True and write_only=True"
|
assert not (read_only and write_only), "Cannot set read_only=True and write_only=True"
|
||||||
|
|
||||||
if required is None:
|
if required is None:
|
||||||
self.required = not(read_only)
|
self.disallow_empty = self.required = not(read_only)
|
||||||
else:
|
else:
|
||||||
assert not (read_only and required), "Cannot set required=True and read_only=True"
|
assert not (read_only and required), "Cannot set required=True and read_only=True"
|
||||||
self.required = required
|
self.disallow_empty = self.required = required
|
||||||
|
|
||||||
messages = {}
|
messages = {}
|
||||||
for c in reversed(self.__class__.__mro__):
|
for c in reversed(self.__class__.__mro__):
|
||||||
|
@ -302,7 +302,7 @@ class WritableField(Field):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def validate(self, value):
|
def validate(self, value):
|
||||||
if value in validators.EMPTY_VALUES and self.required:
|
if self.disallow_empty and value in validators.EMPTY_VALUES:
|
||||||
raise ValidationError(self.error_messages['required'])
|
raise ValidationError(self.error_messages['required'])
|
||||||
|
|
||||||
def run_validators(self, value):
|
def run_validators(self, value):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user