Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#15375 closed (fixed)

Contradiction in Form Wizard documentation

Reported by: codysomerville Owned by: nobody
Component: Documentation Version: master
Severity: Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

The first paragraph on Django's form wizard documentation reads:

  Django comes with an optional “form wizard” application that splits forms across multiple Web pages.
  It maintains state in hashed HTML <input type="hidden"> fields, and the data isn’t processed server-side
  until the final form is submitted.

This would mean to me that no data is sent server-side until the final form is submitted. However, just below this paragraph in the 'How it works' section it says that the data entered on each page is sent to the server to be validated and a secure hash generated which sounds an awful lot like data being processed server-side before the final form is submitted to me <grins>:

  1. The user visits the first page of the wizard, fills in the form and submits it.
  2. The server validates the data. If it’s invalid, the form is displayed again, with error messages.
  If it’s valid, the server calculates a secure hash of the data and presents the user with the next form,
  saving the validated data and hash in <input type="hidden"> fields.
  3. Step 1 and 2 repeat, for every subsequent form in the wizard.
  4. Once the user has submitted all the forms and all the data has been validated, the wizard processes the
  data – saving it to the database, sending an e-mail, or whatever the application needs to do.

Clearly form wizards *do* delay certain 'processing' until the final form is submitted, which is what I imagine the original author intended to highlight, but not all server-side processing. Fixing this to properly describe how a form wizard operates differently in this regard would avoid a potential opportunity for confusion and/or misunderstanding.

Note: This is my first bug report against Django so please feel free to point out any procedural errors I may have made reporting this.

Change History (3)

comment:1 Changed 5 years ago by russellm

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Triage Stage changed from Unreviewed to Accepted

The language here could be improved to clarify what "no server side processing" means.

(and, FTR: Procedurally, you've done exactly the right thing).

comment:2 Changed 5 years ago by DrMeers

  • Resolution set to fixed
  • Status changed from new to closed

In [15633]:

Fixed #15375 -- clarified apparent contradiction in Form Wizard documentation. Thanks to codysomerville for the report.

comment:3 Changed 5 years ago by DrMeers

In [15634]:

[1.2.X] Fixed #15375 -- clarified apparent contradiction in Form Wizard documentation. Thanks to codysomerville for the report.

Backport of r15633 from trunk.

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