File: formstate.md | Updated: 11/15/2025
Search...
+ K
Auto
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Maintainers Partners Support Learn StatsBETA Discord Merch Blog GitHub Ethos Brand Guide
Documentation
Framework
React
Version
v1
Search...
+ K
Menu
Getting Started
Guides
API Reference
Examples
Framework
React
Version
v1
Menu
Getting Started
Guides
API Reference
Examples
On this page
Copy Markdown
Defined in: packages/form-core/src/FormApi.ts:739
An object representing the current state of the form.
Type Parameters
---------------
⢠TFormData
⢠TOnMount extends undefined | FormValidateOrFn<TFormData>
⢠TOnChange extends undefined | FormValidateOrFn<TFormData>
⢠TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>
⢠TOnBlur extends undefined | FormValidateOrFn<TFormData>
⢠TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>
⢠TOnSubmit extends undefined | FormValidateOrFn<TFormData>
⢠TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>
⢠TOnDynamic extends undefined | FormValidateOrFn<TFormData>
⢠TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>
⢠TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>
Properties
----------
### _force_re_eval?
ts
optional _force_re_eval: boolean;
optional _force_re_eval: boolean;
Defined in: packages/form-core/src/FormApi.ts:658
@private, used to force a re-evaluation of the form state when options change
ts
BaseFormState._force_re_eval
BaseFormState._force_re_eval
ts
canSubmit: boolean;
canSubmit: boolean;
Defined in: packages/form-core/src/FormApi.ts:732
A boolean indicating if the form can be submitted based on its current state.
ts
DerivedFormState.canSubmit
DerivedFormState.canSubmit
ts
errorMap: ValidationErrorMap<UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormValidateOrFn<TOnDynamic>, UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>;
errorMap: ValidationErrorMap<UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormValidateOrFn<TOnDynamic>, UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>;
Defined in: packages/form-core/src/FormApi.ts:602
The error map for the form itself.
ts
BaseFormState.errorMap
BaseFormState.errorMap
ts
errors: (
| UnwrapFormValidateOrFn<TOnMount>
| UnwrapFormValidateOrFn<TOnChange>
| UnwrapFormAsyncValidateOrFn<TOnChangeAsync>
| UnwrapFormValidateOrFn<TOnBlur>
| UnwrapFormAsyncValidateOrFn<TOnBlurAsync>
| UnwrapFormValidateOrFn<TOnSubmit>
| UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>
| UnwrapFormValidateOrFn<TOnDynamic>
| UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>
| UnwrapFormAsyncValidateOrFn<TOnServer>)[];
errors: (
| UnwrapFormValidateOrFn<TOnMount>
| UnwrapFormValidateOrFn<TOnChange>
| UnwrapFormAsyncValidateOrFn<TOnChangeAsync>
| UnwrapFormValidateOrFn<TOnBlur>
| UnwrapFormAsyncValidateOrFn<TOnBlurAsync>
| UnwrapFormValidateOrFn<TOnSubmit>
| UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>
| UnwrapFormValidateOrFn<TOnDynamic>
| UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>
| UnwrapFormAsyncValidateOrFn<TOnServer>)[];
Defined in: packages/form-core/src/FormApi.ts:685
The error array for the form itself.
ts
DerivedFormState.errors
DerivedFormState.errors
ts
fieldMeta: Partial<Record<DeepKeys<TFormData>, AnyFieldMeta>>;
fieldMeta: Partial<Record<DeepKeys<TFormData>, AnyFieldMeta>>;
Defined in: packages/form-core/src/FormApi.ts:736
A record of field metadata for each field in the form.
ts
DerivedFormState.fieldMeta
DerivedFormState.fieldMeta
ts
fieldMetaBase: Partial<Record<DeepKeys<TFormData>, AnyFieldMetaBase>>;
fieldMetaBase: Partial<Record<DeepKeys<TFormData>, AnyFieldMetaBase>>;
Defined in: packages/form-core/src/FormApi.ts:621
A record of field metadata for each field in the form, not including the derived properties, like errors and such
ts
BaseFormState.fieldMetaBase
BaseFormState.fieldMetaBase
ts
isBlurred: boolean;
isBlurred: boolean;
Defined in: packages/form-core/src/FormApi.ts:712
A boolean indicating if any of the form fields have been blurred.
ts
DerivedFormState.isBlurred
DerivedFormState.isBlurred
ts
isDefaultValue: boolean;
isDefaultValue: boolean;
Defined in: packages/form-core/src/FormApi.ts:724
A boolean indicating if all of the form's fields are the same as default values.
ts
DerivedFormState.isDefaultValue
DerivedFormState.isDefaultValue
ts
isDirty: boolean;
isDirty: boolean;
Defined in: packages/form-core/src/FormApi.ts:716
A boolean indicating if any of the form's fields' values have been modified by the user. Evaluates true if the user have modified at least one of the fields. Opposite of isPristine.
ts
DerivedFormState.isDirty
DerivedFormState.isDirty
ts
isFieldsValid: boolean;
isFieldsValid: boolean;
Defined in: packages/form-core/src/FormApi.ts:704
A boolean indicating if all the form fields are valid. Evaluates true if there are no field errors.
ts
DerivedFormState.isFieldsValid
DerivedFormState.isFieldsValid
ts
isFieldsValidating: boolean;
isFieldsValidating: boolean;
Defined in: packages/form-core/src/FormApi.ts:700
A boolean indicating if any of the form fields are currently validating.
ts
DerivedFormState.isFieldsValidating
DerivedFormState.isFieldsValidating
ts
isFormValid: boolean;
isFormValid: boolean;
Defined in: packages/form-core/src/FormApi.ts:681
A boolean indicating if the form is valid.
ts
DerivedFormState.isFormValid
DerivedFormState.isFormValid
ts
isFormValidating: boolean;
isFormValidating: boolean;
Defined in: packages/form-core/src/FormApi.ts:677
A boolean indicating if the form is currently validating.
ts
DerivedFormState.isFormValidating
DerivedFormState.isFormValidating
ts
isPristine: boolean;
isPristine: boolean;
Defined in: packages/form-core/src/FormApi.ts:720
A boolean indicating if none of the form's fields' values have been modified by the user. Evaluates true if the user have not modified any of the fields. Opposite of isDirty.
ts
DerivedFormState.isPristine
DerivedFormState.isPristine
ts
isSubmitSuccessful: boolean;
isSubmitSuccessful: boolean;
Defined in: packages/form-core/src/FormApi.ts:654
A boolean indicating if the last submission was successful.
ts
BaseFormState.isSubmitSuccessful
BaseFormState.isSubmitSuccessful
ts
isSubmitted: boolean;
isSubmitted: boolean;
Defined in: packages/form-core/src/FormApi.ts:642
A boolean indicating if the onSubmit function has completed successfully.
Goes back to false at each new submission attempt.
Note: you can use isSubmitting to check if the form is currently submitting.
ts
BaseFormState.isSubmitted
BaseFormState.isSubmitted
ts
isSubmitting: boolean;
isSubmitting: boolean;
Defined in: packages/form-core/src/FormApi.ts:634
A boolean indicating if the form is currently in the process of being submitted after handleSubmit is called.
Goes back to false when submission completes for one of the following reasons:
Note: if you're running async operations in your onSubmit function make sure to await them to ensure isSubmitting is set to false only when the async operation completes.
This is useful for displaying loading indicators or disabling form inputs during submission.
ts
BaseFormState.isSubmitting
BaseFormState.isSubmitting
ts
isTouched: boolean;
isTouched: boolean;
Defined in: packages/form-core/src/FormApi.ts:708
A boolean indicating if any of the form fields have been touched.
ts
DerivedFormState.isTouched
DerivedFormState.isTouched
ts
isValid: boolean;
isValid: boolean;
Defined in: packages/form-core/src/FormApi.ts:728
A boolean indicating if the form and all its fields are valid. Evaluates true if there are no errors.
ts
DerivedFormState.isValid
DerivedFormState.isValid
ts
isValidating: boolean;
isValidating: boolean;
Defined in: packages/form-core/src/FormApi.ts:646
A boolean indicating if the form or any of its fields are currently validating.
ts
BaseFormState.isValidating
BaseFormState.isValidating
ts
submissionAttempts: number;
submissionAttempts: number;
Defined in: packages/form-core/src/FormApi.ts:650
A counter for tracking the number of submission attempts.
ts
BaseFormState.submissionAttempts
BaseFormState.submissionAttempts
ts
validationMetaMap: Record<"onMount" | "onChange" | "onBlur" | "onSubmit" | "onDynamic" | "onServer", undefined | ValidationMeta>;
validationMetaMap: Record<"onMount" | "onChange" | "onBlur" | "onSubmit" | "onDynamic" | "onServer", undefined | ValidationMeta>;
Defined in: packages/form-core/src/FormApi.ts:617
An internal mechanism used for keeping track of validation logic in a form.
ts
BaseFormState.validationMetaMap
BaseFormState.validationMetaMap
ts
values: TFormData;
values: TFormData;
Defined in: packages/form-core/src/FormApi.ts:598
The current values of the form fields.
ts
BaseFormState.values
BaseFormState.values