Overview
Form validation composable with support for synchronous and asynchronous validation rules, multiple validation modes (submit, change, combined), tri-state validation status, and pristine state tracking. Each field is registered independently and tracks its own validation state.Basic Usage
Function Signature
Parameters
Configuration options for the form
When validation should trigger. Can be space-separated for multiple modes:
'submit change'Returns
Form context with field registration and validation
Register a form field with validation rules
Validate all registered fields. Returns true if all valid.
Reset all fields to initial values and clear validation
Form-level validity:
null (not validated), true (valid), false (invalid)Whether any field is currently validating
Number of registered fields
Get a field by ID
Validation Rules
Synchronous Rules
Returntrue for valid, or an error string:
Asynchronous Rules
Return a Promise:Mixed Rules
Combine sync and async:Validation Modes
Submit Only (Default)
Validate whensubmit() is called:
Change Mode
Validate on every value change:Combined Mode
Validate on both submit and change:Per-Field Override
Field State
Validation State
Pristine State
Tracks whether field has been modified:Manual Validation
Validate Field
Silent Validation
Validate without updating UI state:Validate Specific Fields
Form-Level State
Form Validity
Form Validation
Reset Behavior
Reset Single Field
Reset All Fields
Disabled Fields
Race Condition Handling
Automatic handling of concurrent validations:Context Pattern
Use dependency injection for global form access:TypeScript
Custom Field Types
Related
- createRegistry - Base registry primitive
- useValidation - Validation utilities