#32622: BooleanField fails when passing False
-----------------------------------------+------------------------
               Reporter:  Tonye Jack     |          Owner:  nobody
                   Type:  Uncategorized  |         Status:  new
              Component:  Uncategorized  |        Version:  3.2
               Severity:  Normal         |       Keywords:  forms,
           Triage Stage:  Unreviewed     |      Has patch:  0
    Needs documentation:  0              |    Needs tests:  0
Patch needs improvement:  0              |  Easy pickings:  1
                  UI/UX:  0              |
-----------------------------------------+------------------------
 The current django form BooleanField fails when passing False.


 {{{
 class BooleanField(Field):
     widget = CheckboxInput

     def to_python(self, value):
         """Return a Python boolean object."""
         # Explicitly check for the string 'False', which is what a hidden
 field
         # will submit for False. Also check for '0', since this is what
         # RadioSelect will provide. Because bool("True") == bool('1') ==
 True,
         # we don't need to handle that explicitly.
         if isinstance(value, str) and value.lower() in ('false', '0'):
             value = False
         else:
             value = bool(value)
         return super().to_python(value)

     def validate(self, value):
         if not value and self.required:  # <--- Source of the error this
 should likely use `if value is not None and self.required`
             raise ValidationError(self.error_messages['required'],
 code='required')
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/32622>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/051.0de86f59942be130b6706cfc511485a4%40djangoproject.com.

Reply via email to