1. Steps need a contract, not only a visual wizard
A multi-step form should define which data belongs to each step, when validation runs, what can be skipped and what depends on previous answers. Without that contract, the flow becomes hard to maintain and test.
The step model should be understandable outside the component code.
- Name each step by user goal, not only by screen number.
- Define required fields and dependencies per step.
- Validate early enough to avoid surprise at final submit.
- Keep navigation rules explicit for back, next and cancel.
- Document which data is temporary and which is submitted.
2. Draft persistence protects effort
Drafts are valuable when a form is long, interrupted often or filled in the field. Persistence should be intentional: where data is stored, how long it lives and how it is cleared after submit.
Sensitive fields may need stricter handling or no local persistence at all.
- Save drafts for high-effort forms, not every tiny interaction.
- Decide whether drafts are local only or synced to the backend.
- Avoid storing sensitive data without a clear reason.
- Show when a draft was last saved if the process is important.
- Clear submitted drafts predictably.
4. Submission should reconcile draft, validation and API state
Final submission is where local form state meets backend truth. The API may reject a field, require reauthentication or return a business rule that was not known locally.
The app should map those responses back to the step or field that needs attention instead of dumping a generic error.
- Map backend validation errors to the right step and field.
- Keep user data visible after failed submit.
- Prevent duplicate submission while a request is in progress.
- Record submission correlation when support may need it.
- Define what happens when session expires during final submit.
How to use this article
Treat this page as a decision aid. Use it with the related hub, checklist or service route when the topic affects production, customer experience, deployment, security or business continuity.