Changeset 7799
- Timestamp:
- 06/30/08 05:44:56 (2 months ago)
- Files:
-
- django/trunk/django/newforms/fields.py (modified) (1 diff)
- django/trunk/tests/regressiontests/forms/fields.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/newforms/fields.py
r7645 r7799 536 536 def clean(self, value): 537 537 """Returns a Python boolean object.""" 538 super(BooleanField, self).clean(value)539 538 # Explicitly check for the string 'False', which is what a hidden field 540 539 # will submit for False. Because bool("True") == True, we don't need to 541 540 # handle that explicitly. 542 541 if value == 'False': 543 return False 544 return bool(value) 542 value = False 543 else: 544 value = bool(value) 545 super(BooleanField, self).clean(value) 546 if not value and self.required: 547 raise ValidationError(self.error_messages['required']) 548 return value 545 549 546 550 class NullBooleanField(BooleanField): django/trunk/tests/regressiontests/forms/fields.py
r7776 r7799 938 938 True 939 939 >>> f.clean(False) 940 False 940 Traceback (most recent call last): 941 ... 942 ValidationError: [u'This field is required.'] 941 943 >>> f.clean(1) 942 944 True 943 945 >>> f.clean(0) 944 False 946 Traceback (most recent call last): 947 ... 948 ValidationError: [u'This field is required.'] 945 949 >>> f.clean('Django rocks') 946 950 True … … 949 953 True 950 954 >>> f.clean('False') 951 False 955 Traceback (most recent call last): 956 ... 957 ValidationError: [u'This field is required.'] 952 958 953 959 >>> f = BooleanField(required=False)
