Under the Hood
Learn about the internal workings of DreamForm, including the submission lifecycle, validation process, and architecture decisions.
Submission Lifecycle
Regular Submission
- Request Reception: Form receives POST request
- Session Initialization: Creates or retrieves submission session
- Guard Execution: Security guards validate the request
- Field Validation: Each field validates its value
- Hook Execution:
dreamform.submit:beforehooks run - Action Processing: Actions execute in defined order
- Submission Storage: Data saved to submissions folder
- Success Handling: Redirects or displays success message
- Hook Completion:
dreamform.submit:afterhooks run
Precognition Lifecycle
When precognition is enabled, field validation requests follow a simplified flow:
- Precognitive Request: Receives POST with
?precognition=true(through HTMX) - Minimal Guards: Only precognitive guards execute
- Single Field Validation: Only the triggering field is validated
- Response Generation: Returns updated field HTML
- No Side Effects: No hooks, actions, or data storage