#35880: Form Field.requried docs invalid example due to CharField.strip
--------------------------------------+------------------------------------
Reporter: Antoliny | Owner: Antoliny
Type: Bug | Status: assigned
Component: Documentation | Version: 5.1
Severity: Normal | Resolution:
Keywords: Form Fields Document | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Description changed by Sarah Boyce:
Old description:
> Hello!
> I created an issue by finded the wrong parts and the good parts when
> improved in the Form fields document.
>
> 1.
> [https://docs.djangoproject.com/en/5.1/ref/forms/fields/#django.forms.Field.required
> 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.
> [https://docs.djangoproject.com/en/5.1/ref/forms/fields/#django.forms.Field.label
> 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
> [https://docs.djangoproject.com/en/5.1/ref/forms/api/#outputting-forms-
> as-html "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
> [https://docs.djangoproject.com/en/5.1/ref/forms/fields/#django.forms.Field.initial
> 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
> [https://docs.djangoproject.com/en/5.1/ref/forms/fields/#validators
> 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.
> }}}~~
New description:
Hello!
I created an issue by finded the wrong parts and the good parts when
improved in the Form fields document.
1.
[https://docs.djangoproject.com/en/5.1/ref/forms/fields/#django.forms.Field.required
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.
[https://docs.djangoproject.com/en/5.1/ref/forms/fields/#django.forms.Field.label
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
[https://docs.djangoproject.com/en/5.1/ref/forms/api/#outputting-forms-as-
html "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
[https://docs.djangoproject.com/en/5.1/ref/forms/fields/#django.forms.Field.initial
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
[https://docs.djangoproject.com/en/5.1/ref/forms/fields/#validators
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.
}}}
--
--
Ticket URL: <https://code.djangoproject.com/ticket/35880#comment:6>
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 visit
https://groups.google.com/d/msgid/django-updates/01070192f630fd38-8dd88707-5757-4130-984f-bb7757ee6c3c-000000%40eu-central-1.amazonses.com.