Overview
reatomForm creates a reactive form with built-in validation, submit handling, and comprehensive field management. It wraps reatomFieldSet and adds form-level features like submit actions, schema validation, and submitted state tracking.
Type Signature
Parameters
InitState | ((name: string) => InitState)
required
Initial form state or factory function. Can include:
- Primitive values (automatically converted to
reatomField) reatomFieldinstances with custom optionsreatomFieldArrayinstances for dynamic lists- Nested objects for complex form structures
FormOptions
Form configuration options
Return Value
FormAtom<InitState, SchemaState, SubmitReturn, SubmitParams>
Form atom with the following properties:
Examples
Basic Form
Form with Schema Validation
Field-Level Validation
Dynamic Field Arrays
Submit Flow
Submit with Custom Parameters
Autofocus First Error Field
Nested Forms
Submit Flow
Whensubmit() is called, the following sequence occurs:
- Field Validation: All fields in
fieldsListhave their validation triggered - Schema Validation: If a schema is provided, it validates the entire form state
- Custom Validation: The
validateBeforeSubmitcallback runs (if provided) - Submit Handler: The
onSubmitcallback executes with validated state - Submitted State: The
submittedatom is set totrue - Reset (optional): If
resetOnSubmitis true, the form resets to initial state
submit.error().
Related
- reatomField - Create individual form fields
- reatomFieldArray - Manage dynamic field arrays
- Standard Schema - Schema validation specification