Defined in: packages/form-core/src/FieldApi.ts:520
A class representing the API for managing a form field.
Normally, you will not need to create a new FieldApi instance directly. Instead, you will use a framework hook/function like useField or createField to create a new instance for you that uses your framework's reactivity model. However, if you need to create a new instance manually, you can do so by calling the new FieldApi constructor.
TParentData
TName extends DeepKeys\<`TParentData`\>
TData extends DeepValue\<`TParentData`, `TName`\>
TOnMount extends undefined | FieldValidateOrFn\<`TParentData`, `TName`, `TData`\>
TOnChange extends undefined | FieldValidateOrFn\<`TParentData`, `TName`, `TData`\>
TOnChangeAsync extends undefined | FieldAsyncValidateOrFn\<`TParentData`, `TName`, `TData`\>
TOnBlur extends undefined | FieldValidateOrFn\<`TParentData`, `TName`, `TData`\>
TOnBlurAsync extends undefined | FieldAsyncValidateOrFn\<`TParentData`, `TName`, `TData`\>
TOnSubmit extends undefined | FieldValidateOrFn\<`TParentData`, `TName`, `TData`\>
TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn\<`TParentData`, `TName`, `TData`\>
TOnDynamic extends undefined | FieldValidateOrFn\<`TParentData`, `TName`, `TData`\>
TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn\<`TParentData`, `TName`, `TData`\>
TFormOnMount extends undefined | FormValidateOrFn\<`TParentData`\>
TFormOnChange extends undefined | FormValidateOrFn\<`TParentData`\>
TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn\<`TParentData`\>
TFormOnBlur extends undefined | FormValidateOrFn\<`TParentData`\>
TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn\<`TParentData`\>
TFormOnSubmit extends undefined | FormValidateOrFn\<`TParentData`\>
TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn\<`TParentData`\>
TFormOnDynamic extends undefined | FormValidateOrFn\<`TParentData`\>
TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn\<`TParentData`\>
TFormOnServer extends undefined | FormAsyncValidateOrFn\<`TParentData`\>
TParentSubmitMeta
new FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>(opts): FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;Defined in: packages/form-core/src/FieldApi.ts:712
Initializes a new FieldApi instance.
FieldApiOptions\<`TParentData`, `TName`, `TData`, `TOnMount`, `TOnChange`, `TOnChangeAsync`, `TOnBlur`, `TOnBlurAsync`, `TOnSubmit`, `TOnSubmitAsync`, `TOnDynamic`, `TOnDynamicAsync`, `TFormOnMount`, `TFormOnChange`, `TFormOnChangeAsync`, `TFormOnBlur`, `TFormOnBlurAsync`, `TFormOnSubmit`, `TFormOnSubmitAsync`, `TFormOnDynamic`, `TFormOnDynamicAsync`, `TFormOnServer`, `TParentSubmitMeta`\>
FieldApi\<`TParentData`, `TName`, `TData`, `TOnMount`, `TOnChange`, `TOnChangeAsync`, `TOnBlur`, `TOnBlurAsync`, `TOnSubmit`, `TOnSubmitAsync`, `TOnDynamic`, `TOnDynamicAsync`, `TFormOnMount`, `TFormOnChange`, `TFormOnChangeAsync`, `TFormOnBlur`, `TFormOnBlurAsync`, `TFormOnSubmit`, `TFormOnSubmitAsync`, `TFormOnDynamic`, `TFormOnDynamicAsync`, `TFormOnServer`, `TParentSubmitMeta`\>
form: FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;Defined in: packages/form-core/src/FieldApi.ts:612
A reference to the form API instance.
FieldLikeAPI.formname: TName;Defined in: packages/form-core/src/FieldApi.ts:640
The field name.
FieldLikeAPI.nameoptions: FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;Defined in: packages/form-core/src/FieldApi.ts:644
The field options.
FieldLikeAPI.optionsstore: ReadonlyStore<FieldLikeState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>;Defined in: packages/form-core/src/FieldApi.ts:672
The field state store.
FieldLikeAPI.storetimeoutIds: object;Defined in: packages/form-core/src/FieldApi.ts:703
formListeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;listeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;validations: Record<ValidationCause, ReturnType<typeof setTimeout> | null>;get state(): FieldLikeState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;Defined in: packages/form-core/src/FieldApi.ts:700
The current field state.
FieldLikeState\<`TParentData`, `TName`, `TData`, `TOnMount`, `TOnChange`, `TOnChangeAsync`, `TOnBlur`, `TOnBlurAsync`, `TOnSubmit`, `TOnSubmitAsync`, `TOnDynamic`, `TOnDynamicAsync`, `TFormOnMount`, `TFormOnChange`, `TFormOnChangeAsync`, `TFormOnBlur`, `TFormOnBlurAsync`, `TFormOnSubmit`, `TFormOnSubmitAsync`, `TFormOnDynamic`, `TFormOnDynamicAsync`\>
clearValues(options?): void;Defined in: packages/form-core/src/FieldApi.ts:1214
Clear all values from the array.
UpdateMetaOptions
void
getInfo(): FieldInfo<TParentData>;Defined in: packages/form-core/src/FieldApi.ts:1100
Gets the field information object.
FieldInfo\<`TParentData`\>
FieldLikeAPI.getInfogetMeta(): FieldLikeMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;Defined in: packages/form-core/src/FieldApi.ts:1064
FieldLikeMeta\<`TParentData`, `TName`, `TData`, `TOnMount`, `TOnChange`, `TOnChangeAsync`, `TOnBlur`, `TOnBlurAsync`, `TOnSubmit`, `TOnSubmitAsync`, `TOnDynamic`, `TOnDynamicAsync`, `TFormOnMount`, `TFormOnChange`, `TFormOnChangeAsync`, `TFormOnBlur`, `TFormOnBlurAsync`, `TFormOnSubmit`, `TFormOnSubmitAsync`, `TFormOnDynamic`, `TFormOnDynamicAsync`\>
FieldLikeAPI.getMetagetValue(): TData;Defined in: packages/form-core/src/FieldApi.ts:1041
Gets the current field value.
TData
Use field.state.value instead.
handleBlur(): void;Defined in: packages/form-core/src/FieldApi.ts:1701
Handles the blur event.
void
handleChange(updater): void;Defined in: packages/form-core/src/FieldApi.ts:1694
Handles the change event.
Updater\<`TData`\>
void
insertValue(
index,
value,
options?): void;Defined in: packages/form-core/src/FieldApi.ts:1123
Inserts a value at the specified index, shifting the subsequent values to the right.
number
TData extends any[] ? TData\<`TData`\>[number] : never
UpdateMetaOptions
void
mount(): () => void;Defined in: packages/form-core/src/FieldApi.ts:859
Mounts the field instance to the form.
A function to unmount the field instance.
(): void;void
FieldLikeAPI.mountmoveValue(
aIndex,
bIndex,
options?): void;Defined in: packages/form-core/src/FieldApi.ts:1198
Moves the value at the first specified index to the second specified index.
number
number
UpdateMetaOptions
void
parseValueWithSchema(schema):
| StandardSchemaV1Issue[]
| undefined;Defined in: packages/form-core/src/FieldApi.ts:1744
Parses the field's value with the given schema and returns issues (if any). This method does NOT set any internal errors.
StandardSchemaV1\<`TData`, `unknown`\>
The standard schema to parse this field's value with.
| StandardSchemaV1Issue[] | undefined
parseValueWithSchemaAsync(schema): Promise<
| StandardSchemaV1Issue[]
| undefined>;Defined in: packages/form-core/src/FieldApi.ts:1756
Parses the field's value with the given schema and returns issues (if any). This method does NOT set any internal errors.
StandardSchemaV1\<`TData`, `unknown`\>
The standard schema to parse this field's value with.
Promise\< \| [`StandardSchemaV1Issue`](../interfaces/StandardSchemaV1Issue.md)[] \| `undefined`\>
pushValue(value, options?): void;Defined in: packages/form-core/src/FieldApi.ts:1105
Pushes a new value to the field.
TData extends any[] ? TData\<`TData`\>[number] : never
UpdateMetaOptions
void
removeValue(index, options?): void;Defined in: packages/form-core/src/FieldApi.ts:1163
Removes a value at the specified index.
number
UpdateMetaOptions
void
replaceValue(
index,
value,
options?): void;Defined in: packages/form-core/src/FieldApi.ts:1143
Replaces a value at the specified index.
number
TData extends any[] ? TData\<`TData`\>[number] : never
UpdateMetaOptions
void
setErrorMap(errorMap): void;Defined in: packages/form-core/src/FieldApi.ts:1717
Updates the field's errorMap
ValidationErrorMap\<[`UnwrapFieldValidateOrFn`](../type-aliases/UnwrapFieldValidateOrFn.md)\<`TName`, `TOnMount`, `TFormOnMount`\>, UnwrapFieldValidateOrFn\<`TName`, `TOnChange`, `TFormOnChange`\>, UnwrapFieldAsyncValidateOrFn\<`TName`, `TOnChangeAsync`, `TFormOnChangeAsync`\>, UnwrapFieldValidateOrFn\<`TName`, `TOnBlur`, `TFormOnBlur`\>, UnwrapFieldAsyncValidateOrFn\<`TName`, `TOnBlurAsync`, `TFormOnBlurAsync`\>, UnwrapFieldValidateOrFn\<`TName`, `TOnSubmit`, `TFormOnSubmit`\>, UnwrapFieldAsyncValidateOrFn\<`TName`, `TOnSubmitAsync`, `TFormOnSubmitAsync`\>, UnwrapFieldValidateOrFn\<`TName`, `TOnDynamic`, `TFormOnDynamic`\>, UnwrapFieldAsyncValidateOrFn\<`TName`, `TOnDynamicAsync`, `TFormOnDynamicAsync`\>>
void
setMeta(updater): void;Defined in: packages/form-core/src/FieldApi.ts:1069
Sets the field metadata.
Updater\<`FieldLikeMetaBase`\<`TParentData`, `TName`, `TData`, `TOnMount`, `TOnChange`, `TOnChangeAsync`, `TOnBlur`, `TOnBlurAsync`, `TOnSubmit`, `TOnSubmitAsync`, `TOnDynamic`, `TOnDynamicAsync`, `TFormOnMount`, `TFormOnChange`, `TFormOnChangeAsync`, `TFormOnBlur`, `TFormOnBlurAsync`, `TFormOnSubmit`, `TFormOnSubmitAsync`, `TFormOnDynamic`, `TFormOnDynamicAsync`\>>
void
FieldLikeAPI.setMetasetValue(updater, options?): void;Defined in: packages/form-core/src/FieldApi.ts:1048
Sets the field value and run the change validator.
Updater\<`TData`\>
UpdateMetaOptions
void
FieldLikeAPI.setValueswapValues(
aIndex,
bIndex,
options?): void;Defined in: packages/form-core/src/FieldApi.ts:1178
Swaps the values at the specified indices.
number
number
UpdateMetaOptions
void
update(opts): void;Defined in: packages/form-core/src/FieldApi.ts:990
Updates the field instance with new options.
FieldApiOptions\<`TParentData`, `TName`, `TData`, `TOnMount`, `TOnChange`, `TOnChangeAsync`, `TOnBlur`, `TOnBlurAsync`, `TOnSubmit`, `TOnSubmitAsync`, `TOnDynamic`, `TOnDynamicAsync`, `TFormOnMount`, `TFormOnChange`, `TFormOnChangeAsync`, `TFormOnBlur`, `TFormOnBlurAsync`, `TFormOnSubmit`, `TFormOnSubmitAsync`, `TFormOnDynamic`, `TFormOnDynamicAsync`, `TFormOnServer`, `TParentSubmitMeta`\>
void
validate(cause, opts?): unknown[] | Promise<unknown[]>;Defined in: packages/form-core/src/FieldApi.ts:1577
Validates the field value.
ValidationCause
boolean
boolean
unknown[] | Promise\<`unknown`[]\>
FieldLikeAPI.validate