From 89a2d0b130184a1d0cb97af652c29e1ee1d55ab5 Mon Sep 17 00:00:00 2001 From: Gianmarco Manni Date: Tue, 16 Sep 2025 18:08:30 +0200 Subject: [PATCH] x --- CHANGELOG.md | 4 ++++ src/lib/Form.tsx | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 227e991..3da9354 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Possibility to set `mode` for Form + ## [3.10.0] - 2025-09-05 ### Added diff --git a/src/lib/Form.tsx b/src/lib/Form.tsx index a5b41e6..384b720 100644 --- a/src/lib/Form.tsx +++ b/src/lib/Form.tsx @@ -1,5 +1,5 @@ import { ReactNode } from "react"; -import { DeepPartial, FieldPath, FieldValues, Resolver, SubmitHandler, useForm, UseFormReturn } from "react-hook-form"; +import { DeepPartial, FieldPath, FieldValues, Mode, Resolver, SubmitHandler, useForm, UseFormReturn } from "react-hook-form"; import { jsonIsoDateReviver } from "./helpers/dateUtils"; import { FormContext, FormContextProps } from "./context/FormContext"; import { AutoSubmitConfig, useAutoSubmit } from "./hooks/useAutoSubmit"; @@ -12,6 +12,11 @@ interface FormProps { */ onSubmit: SubmitHandler; + /** + * The default validation mode of the form + */ + mode?: Mode; + /** * the resolver for the validation */ @@ -70,13 +75,14 @@ const Form = ({ formRef, hideValidationMessages = false, autoComplete, + mode, }: FormProps) => { const revivedDefaultValues = defaultValues ? (JSON.parse(JSON.stringify(defaultValues), jsonIsoDateReviver) as DeepPartial) : defaultValues; const disableAriaAutocomplete = autoComplete === "off"; - const formMethods = useForm({ resolver, defaultValues: revivedDefaultValues }); + const formMethods = useForm({ resolver, defaultValues: revivedDefaultValues, mode: mode }); const autoSubmitHandler = useAutoSubmit({ onSubmit, formMethods, autoSubmitConfig }); return (