Defined in: packages/form-core/src/FieldApi.ts:860
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>
• 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>
• TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>
• TParentSubmitMeta
new FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>(opts): FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>
new FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>(opts): FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>
Defined in: packages/form-core/src/FieldApi.ts:974
Initializes a new FieldApi instance.
FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>
FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>
form: FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>;
form: FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>;
Defined in: packages/form-core/src/FieldApi.ts:890
A reference to the form API instance.
name: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple<TParentData> ? PrefixTupleAccessor<TParentData<TParentData>, AllowedIndexes<TParentData<TParentData>, never>, []> : TParentData extends any[] ? PrefixArrayAccessor<TParentData<TParentData>, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor<TParentData<TParentData>, []> : TParentData extends string | number | bigint | boolean ? "" : never;
name: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple<TParentData> ? PrefixTupleAccessor<TParentData<TParentData>, AllowedIndexes<TParentData<TParentData>, never>, []> : TParentData extends any[] ? PrefixArrayAccessor<TParentData<TParentData>, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor<TParentData<TParentData>, []> : TParentData extends string | number | bigint | boolean ? "" : never;
Defined in: packages/form-core/src/FieldApi.ts:914
The field name.
options: FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>;
options: FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>;
Defined in: packages/form-core/src/FieldApi.ts:918
The field options.
store: Derived<FieldState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync>>;
store: Derived<FieldState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync>>;
Defined in: packages/form-core/src/FieldApi.ts:942
The field state store.
timeoutIds: Record<ValidationCause, null | Timeout>;
timeoutIds: Record<ValidationCause, null | Timeout>;
Defined in: packages/form-core/src/FieldApi.ts:969
get state(): FieldState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync>
get state(): FieldState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync>
Defined in: packages/form-core/src/FieldApi.ts:966
The current field state.
FieldState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync>
getInfo(): FieldInfo<TParentData>
getInfo(): FieldInfo<TParentData>
Defined in: packages/form-core/src/FieldApi.ts:1217
Gets the field information object.
FieldInfo<TParentData>
getMeta(): FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync>
getMeta(): FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync>
Defined in: packages/form-core/src/FieldApi.ts:1185
FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync>
getValue(): TData
getValue(): TData
Defined in: packages/form-core/src/FieldApi.ts:1167
Gets the current field value.
TData
Use field.state.value instead.
handleBlur(): void
handleBlur(): void
Defined in: packages/form-core/src/FieldApi.ts:1627
Handles the blur event.
void
handleChange(updater): void
handleChange(updater): void
Defined in: packages/form-core/src/FieldApi.ts:1620
Handles the change event.
Updater<TData>
void
insertValue(
index,
value,
opts?): void
insertValue(
index,
value,
opts?): void
Defined in: packages/form-core/src/FieldApi.ts:1237
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
mount(): () => void
Defined in: packages/form-core/src/FieldApi.ts:1067
Mounts the field instance to the form.
Function
void
moveValue(
aIndex,
bIndex,
opts?): void
moveValue(
aIndex,
bIndex,
opts?): void
Defined in: packages/form-core/src/FieldApi.ts:1293
Moves the value at the first specified index to the second specified index.
number
number
UpdateMetaOptions
void
pushValue(value, opts?): void
pushValue(value, opts?): void
Defined in: packages/form-core/src/FieldApi.ts:1222
Pushes a new value to the field.
TData extends any[] ? TData<TData>[number] : never
UpdateMetaOptions
void
removeValue(index, opts?): void
removeValue(index, opts?): void
Defined in: packages/form-core/src/FieldApi.ts:1269
Removes a value at the specified index.
number
UpdateMetaOptions
void
replaceValue(
index,
value,
opts?): void
replaceValue(
index,
value,
opts?): void
Defined in: packages/form-core/src/FieldApi.ts:1253
Replaces a value at the specified index.
number
TData extends any[] ? TData<TData>[number] : never
UpdateMetaOptions
void
setErrorMap(errorMap): void
setErrorMap(errorMap): void
Defined in: packages/form-core/src/FieldApi.ts:1647
Updates the field's errorMap
ValidationErrorMap
void
setMeta(updater): void
setMeta(updater): void
Defined in: packages/form-core/src/FieldApi.ts:1190
Sets the field metadata.
Updater<FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync>>
void
setValue(updater, options?): void
setValue(updater, options?): void
Defined in: packages/form-core/src/FieldApi.ts:1174
Sets the field value and run the change validator.
Updater<TData>
UpdateMetaOptions
void
swapValues(
aIndex,
bIndex,
opts?): void
swapValues(
aIndex,
bIndex,
opts?): void
Defined in: packages/form-core/src/FieldApi.ts:1281
Swaps the values at the specified indices.
number
number
UpdateMetaOptions
void
update(opts): void
update(opts): void
Defined in: packages/form-core/src/FieldApi.ts:1115
Updates the field instance with new options.
FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TParentSubmitMeta>
void
validate(cause, opts?): unknown[] | Promise<unknown[]>
validate(cause, opts?): unknown[] | Promise<unknown[]>
Defined in: packages/form-core/src/FieldApi.ts:1587
Validates the field value.
ValidationCause
boolean
unknown[] | Promise<unknown[]>
Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.