From 5fc253d886229e8c8cc4399cb6095e63346f356b Mon Sep 17 00:00:00 2001 From: Jarrod Baumann Date: Tue, 4 Nov 2014 11:48:43 -0600 Subject: [PATCH 1/2] Added validation exceptions for required fields with allow_blank set to True to mirror Django's validation logic --- rest_framework/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 8cc8e81ec..95d5d3712 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -290,7 +290,7 @@ class Field(object): if data is empty: if getattr(self.root, 'partial', False): raise SkipField() - if self.required: + if self.required and not self.allow_blank: self.fail('required') return self.get_default() From 026f164f7a0f813c0d29113d7451eff0eff4a440 Mon Sep 17 00:00:00 2001 From: Jarrod Baumann Date: Tue, 4 Nov 2014 13:15:17 -0600 Subject: [PATCH 2/2] Stupidly referenced an attribute that will not always be populated. Replaced with a call to getattr with a default None value --- rest_framework/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 95d5d3712..45c4d4edf 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -290,7 +290,7 @@ class Field(object): if data is empty: if getattr(self.root, 'partial', False): raise SkipField() - if self.required and not self.allow_blank: + if self.required and not getattr(self, 'allow_blank', None): self.fail('required') return self.get_default()