Skip navigation

Under the Hood

Learn about the internal workings of DreamForm, including the submission lifecycle, validation process, and architecture decisions.

Submission Lifecycle

Regular Submission

  1. Request Reception: Form receives POST request
  2. Session Initialization: Creates or retrieves submission session
  3. Guard Execution: Security guards validate the request
  4. Field Validation: Each field validates its value
  5. Hook Execution: dreamform.submit:before hooks run
  6. Action Processing: Actions execute in defined order
  7. Submission Storage: Data saved to submissions folder
  8. Success Handling: Redirects or displays success message
  9. Hook Completion: dreamform.submit:after hooks run

Precognition Lifecycle

When precognition is enabled, field validation requests follow a simplified flow:

  1. Precognitive Request: Receives POST with ?precognition=true (through HTMX)
  2. Minimal Guards: Only precognitive guards execute
  3. Single Field Validation: Only the triggering field is validated
  4. Response Generation: Returns updated field HTML
  5. No Side Effects: No hooks, actions, or data storage