#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.

Reply via email to