Opened 3 weeks ago

Closed 2 weeks ago

#35880 closed Bug (fixed)

Form Field.requried docs invalid example due to CharField.strip

Reported by: Antoliny Owned by: Antoliny
Component: Documentation Version: 5.1
Severity: Normal Keywords: Form Fields Document
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Sarah Boyce)

Hello!
I created an issue by finded the wrong parts and the good parts when improved in the Form fields document.

  1. Field.requried section invalid example.
>>> from django import forms
>>> f = forms.CharField()
...
>> f.clean(" ")
' '

In the example passed a character string with spaces as a factor in the clean method to a CharField instance.
This part is cleared space by CharField's to_python method, result is an empty_value so occur validation error.

class CharField(Field):
    ...
    def to_python(self, value):
        """Return a string."""
        if value not in self.empty_values:
            value = str(value)
            if self.strip:
                value = value.strip() # before value: "  ", after value: "" 
        if value in self.empty_values:
            return self.empty_value
        return value
    ...

However, in the current document, a string containing spaces seems to pass through the clean method.


2. Field.label section unclear part -> ("outputting forms as HTML" above)

It is unclear what " 'Outputting forms as HTML' above" refers to in the Field label section.
This part probably means the "Outputting forms as HTML" section of the Forms API Document.


3. Consistency "fallback" and link message

This part is very trivial :)

The word "fallback" used in the field initial section are two values "fallback" and "fall back".

"Also note that initial values are not used as "fallback" ...
---
>>> f.is_valid()
False
# The form does *not* fall back to using ....
...

I think it would be better to include documentation in the message set as a link.
(Like the link message used in validators section.)

``localize``
------------

.. attribute:: Field.localize

The ``localize`` argument enables the localization of form data input, as well
as the rendered output.

See the :doc:`format localization </topics/i18n/formatting>` documentation for # --> See the :doc:`format localization documentation</topics/i18n/formatting> ` for more information.

Change History (11)

comment:1 by Antoliny, 3 weeks ago

Owner: set to Antoliny
Status: newassigned

comment:2 by Antoliny, 3 weeks ago

Has patch: set

comment:3 by Antoliny, 3 weeks ago

comment:4 by Antoliny, 3 weeks ago

Description: modified (diff)

comment:5 by Sarah Boyce, 2 weeks ago

Description: modified (diff)
Summary: Consistency and improvements to the form fields document.Form Field.requried docs invalid example due to CharField.strip
Triage Stage: UnreviewedAccepted
Type: Cleanup/optimizationBug

comment:6 by Sarah Boyce, 2 weeks ago

Description: modified (diff)

comment:7 by Sarah Boyce, 2 weeks ago

2 and 3 can be done without a ticket, 1 is an issue here which I have added a comment on your patch

comment:8 by Sarah Boyce, 2 weeks ago

Patch needs improvement: set

comment:9 by Antoliny, 2 weeks ago

Patch needs improvement: unset

comment:10 by Sarah Boyce, 2 weeks ago

Triage Stage: AcceptedReady for checkin

comment:11 by Sarah Boyce <42296566+sarahboyce@…>, 2 weeks ago

Resolution: fixed
Status: assignedclosed

In cae0c7f4:

[5.1.x] Fixed #35880 -- Removed invalid example in form Field.required docs due to CharField.strip.

CharField.strip was introduced in 11cac1bd8ef7546ca32d9969d4348bf412dc6664, and is True by
default, meaning the previous example of " " raised a ValidationError.

Backport of 72de38239fdc97751e1e4ed245c7073c31bbd28a from main.

Note: See TracTickets for help on using tickets.
Back to Top