When to use
Use this skill when building or editing forms handling user input for views like back-office organizers (control/) or attendee-facing routes (presale/).
Steps
- Place the new form class strictly alongside its relevant sub-app (e.g.,
app/eventyay/base/forms/,app/eventyay/control/forms/). - Add specific, individual field-level validation by implementing
clean_<field>()methods. - Add multi-field or cross-field validation logic by implementing generic
clean()method overrides.
Validation
- Confirm the form has definitively been organized within its intended domain scope (e.g. keeping control constraints strictly out of presale domains).
Gotchas
- Do not bypass Django's built-in validation mechanisms logic when working with forms.
- Do not mix
control/forms/configurations intopresale/logic.