flowCreate.solutions

Forms & Validation (React Hook Form + Zod) (Frontend Standard)

This document defines the standard approach to forms and validation.

Standard libraries

  • React Hook Form for form state and submission
  • Zod for runtime validation

Where schemas live

  • Feature schemas live in: src/features/<feature>/schemas.ts

Rules (required)

  • Validate on submit at minimum; validate on change/blur when UX requires it.
  • Never trust client validation as security. Backend validation is still required.
  • Standardize error rendering in shared src/components/fields/* components.

Accessibility (required)

Form fields must:

  • have an associated <label> (or aria-label when necessary)
  • expose validation errors in an accessible way
  • preserve keyboard navigation