FieldApi

Class: 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:972

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.

Type Parameters

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

Constructors

new FieldApi()

ts
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>
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:1126

Initializes a new FieldApi instance.

Parameters

opts

FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>

Returns

FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>

Properties

form

ts
form: FormApi<TParentData, 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:1026

A reference to the form API instance.


name

ts
name: DeepKeys<TParentData>;
name: DeepKeys<TParentData>;

Defined in: packages/form-core/src/FieldApi.ts:1054

The field name.


options

ts
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>;
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>;

Defined in: packages/form-core/src/FieldApi.ts:1058

The field options.


store

ts
store: Derived<FieldState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>;
store: Derived<FieldState<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:1086

The field state store.


timeoutIds

ts
timeoutIds: object;
timeoutIds: object;

Defined in: packages/form-core/src/FieldApi.ts:1117

formListeners

ts
formListeners: Record<ListenerCause, null | Timeout>;
formListeners: Record<ListenerCause, null | Timeout>;

listeners

ts
listeners: Record<ListenerCause, null | Timeout>;
listeners: Record<ListenerCause, null | Timeout>;

validations

ts
validations: Record<ValidationCause, null | Timeout>;
validations: Record<ValidationCause, null | Timeout>;

Accessors

state

Get Signature

ts
get state(): FieldState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>
get state(): FieldState<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:1114

The current field state.

Returns

FieldState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>

Methods

clearValues()

ts
clearValues(opts?): void
clearValues(opts?): void

Defined in: packages/form-core/src/FieldApi.ts:1466

Clear all values from the array.

Parameters

opts?

UpdateMetaOptions

Returns

void


getInfo()

ts
getInfo(): FieldInfo<TParentData>
getInfo(): FieldInfo<TParentData>

Defined in: packages/form-core/src/FieldApi.ts:1396

Gets the field information object.

Returns

FieldInfo<TParentData>


getMeta()

ts
getMeta(): FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>
getMeta(): FieldMeta<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:1360

Returns

FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>


getValue()

ts
getValue(): TData
getValue(): TData

Defined in: packages/form-core/src/FieldApi.ts:1345

Gets the current field value.

Returns

TData

Deprecated

Use field.state.value instead.


handleBlur()

ts
handleBlur(): void
handleBlur(): void

Defined in: packages/form-core/src/FieldApi.ts:1837

Handles the blur event.

Returns

void


handleChange()

ts
handleChange(updater): void
handleChange(updater): void

Defined in: packages/form-core/src/FieldApi.ts:1830

Handles the change event.

Parameters

updater

Updater<TData>

Returns

void


insertValue()

ts
insertValue(
   index, 
   value, 
   opts?): void
insertValue(
   index, 
   value, 
   opts?): void

Defined in: packages/form-core/src/FieldApi.ts:1413

Inserts a value at the specified index, shifting the subsequent values to the right.

Parameters

index

number

value

TData extends any[] ? TData<TData>[number] : never

opts?

UpdateMetaOptions

Returns

void


mount()

ts
mount(): () => void
mount(): () => void

Defined in: packages/form-core/src/FieldApi.ts:1231

Mounts the field instance to the form.

Returns

Function

Returns

void


moveValue()

ts
moveValue(
   aIndex, 
   bIndex, 
   opts?): void
moveValue(
   aIndex, 
   bIndex, 
   opts?): void

Defined in: packages/form-core/src/FieldApi.ts:1457

Moves the value at the first specified index to the second specified index.

Parameters

aIndex

number

bIndex

number

opts?

UpdateMetaOptions

Returns

void


parseValueWithSchema()

ts
parseValueWithSchema(schema): 
  | undefined
  | StandardSchemaV1Issue[]
parseValueWithSchema(schema): 
  | undefined
  | StandardSchemaV1Issue[]

Defined in: packages/form-core/src/FieldApi.ts:1880

Parses the field's value with the given schema and returns issues (if any). This method does NOT set any internal errors.

Parameters

schema

StandardSchemaV1<TData, unknown>

The standard schema to parse this field's value with.

Returns

| undefined | StandardSchemaV1Issue[]


parseValueWithSchemaAsync()

ts
parseValueWithSchemaAsync(schema): Promise<
  | undefined
| StandardSchemaV1Issue[]>
parseValueWithSchemaAsync(schema): Promise<
  | undefined
| StandardSchemaV1Issue[]>

Defined in: packages/form-core/src/FieldApi.ts:1892

Parses the field's value with the given schema and returns issues (if any). This method does NOT set any internal errors.

Parameters

schema

StandardSchemaV1<TData, unknown>

The standard schema to parse this field's value with.

Returns

Promise< | undefined | StandardSchemaV1Issue[]>


pushValue()

ts
pushValue(value, opts?): void
pushValue(value, opts?): void

Defined in: packages/form-core/src/FieldApi.ts:1401

Pushes a new value to the field.

Parameters

value

TData extends any[] ? TData<TData>[number] : never

opts?

UpdateMetaOptions

Returns

void


removeValue()

ts
removeValue(index, opts?): void
removeValue(index, opts?): void

Defined in: packages/form-core/src/FieldApi.ts:1439

Removes a value at the specified index.

Parameters

index

number

opts?

UpdateMetaOptions

Returns

void


replaceValue()

ts
replaceValue(
   index, 
   value, 
   opts?): void
replaceValue(
   index, 
   value, 
   opts?): void

Defined in: packages/form-core/src/FieldApi.ts:1426

Replaces a value at the specified index.

Parameters

index

number

value

TData extends any[] ? TData<TData>[number] : never

opts?

UpdateMetaOptions

Returns

void


setErrorMap()

ts
setErrorMap(errorMap): void
setErrorMap(errorMap): void

Defined in: packages/form-core/src/FieldApi.ts:1853

Updates the field's errorMap

Parameters

errorMap

ValidationErrorMap<UnwrapFieldValidateOrFn<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>>

Returns

void


setMeta()

ts
setMeta(updater): void
setMeta(updater): void

Defined in: packages/form-core/src/FieldApi.ts:1365

Sets the field metadata.

Parameters

updater

Updater<FieldMetaBase<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>

Returns

void


setValue()

ts
setValue(updater, options?): void
setValue(updater, options?): void

Defined in: packages/form-core/src/FieldApi.ts:1352

Sets the field value and run the change validator.

Parameters

updater

Updater<TData>

options?

UpdateMetaOptions

Returns

void


swapValues()

ts
swapValues(
   aIndex, 
   bIndex, 
   opts?): void
swapValues(
   aIndex, 
   bIndex, 
   opts?): void

Defined in: packages/form-core/src/FieldApi.ts:1448

Swaps the values at the specified indices.

Parameters

aIndex

number

bIndex

number

opts?

UpdateMetaOptions

Returns

void


update()

ts
update(opts): void
update(opts): void

Defined in: packages/form-core/src/FieldApi.ts:1284

Updates the field instance with new options.

Parameters

opts

FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>

Returns

void


validate()

ts
validate(cause, opts?): unknown[] | Promise<unknown[]>
validate(cause, opts?): unknown[] | Promise<unknown[]>

Defined in: packages/form-core/src/FieldApi.ts:1797

Validates the field value.

Parameters

cause

ValidationCause

opts?
skipFormValidation?

boolean

Returns

unknown[] | Promise<unknown[]>

Subscribe to Bytes

Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.

Bytes

No spam. Unsubscribe at any time.

Subscribe to Bytes

Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.

Bytes

No spam. Unsubscribe at any time.