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 utilizes your frameworks reactivity model. However, if you need to create a new instance manually, you can do so by calling the new FieldApi constructor.
const fieldApi: FieldApi<TData> = new FieldApi(formOptions: FieldOptions<TData>)
const fieldApi: FieldApi<TData> = new FieldApi(formOptions: FieldOptions<TData>)
An object type representing the options for a field in a form.
name: TName
name: TName
defaultValue?: TData
defaultValue?: TData
defaultMeta?: Partial<FieldMeta>
defaultMeta?: Partial<FieldMeta>
asyncDebounceMs?: number
asyncDebounceMs?: number
asyncAlways?: boolean
asyncAlways?: boolean
validatorAdapter?: ValidatorType
validatorAdapter?: ValidatorType
validators?: FieldValidators<
TParentData,
TName,
TFieldValidator,
TFormValidator,
TData
>
validators?: FieldValidators<
TParentData,
TName,
TFieldValidator,
TFormValidator,
TData
>
onMount?: (formApi: FieldApi<TData, TParentData>) => void
onMount?: (formApi: FieldApi<TData, TParentData>) => void
onChange?: ValidateFn<TData, TParentData>
onChange?: ValidateFn<TData, TParentData>
onChangeAsync?: ValidateAsyncFn<TData, TParentData>
onChangeAsync?: ValidateAsyncFn<TData, TParentData>
onChangeAsyncDebounceMs?: number
onChangeAsyncDebounceMs?: number
onChangeListenTo?: DeepKeys<TParentData>[]
onChangeListenTo?: DeepKeys<TParentData>[]
onBlur?: ValidateFn<TData, TParentData>
onBlur?: ValidateFn<TData, TParentData>
onBlurAsync?: ValidateAsyncFn<TData, TParentData>
onBlurAsync?: ValidateAsyncFn<TData, TParentData>
onBlurAsyncDebounceMs?: number
onBlurAsyncDebounceMs?: number
onBlurListenTo?: DeepKeys<TParentData>[]
onBlurListenTo?: DeepKeys<TParentData>[]
onSubmit?: ValidateFn<TData, TParentData>
onSubmit?: ValidateFn<TData, TParentData>
onSubmitAsync?: ValidateAsyncFn<TData, TParentData>
onSubmitAsync?: ValidateAsyncFn<TData, TParentData>
onSubmitAsyncDebounceMs?: number
onSubmitAsyncDebounceMs?: number
An object type representing the metadata of a field in a form.
isPristine: boolean
isPristine: boolean
isDirty: boolean
isDirty: boolean
isTouched: boolean
isTouched: boolean
touchedErrors: ValidationError[]
touchedErrors: ValidationError[]
errors: ValidationError[]
errors: ValidationError[]
errorMap: ValidationErrorMap
errorMap: ValidationErrorMap
isValidating: boolean
isValidating: boolean
An object type representing the required options for the FieldApi class.
A class representing the API for managing a form field.
form: FormApi<TParentData, TData>
form: FormApi<TParentData, TData>
name: DeepKeys<TParentData>
name: DeepKeys<TParentData>
store: Store<FieldState<TData>>
store: Store<FieldState<TData>>
state: FieldState<TData>
state: FieldState<TData>
options: RequiredByKey<FieldOptions<TData, TParentData>, 'validateOn'>
options: RequiredByKey<FieldOptions<TData, TParentData>, 'validateOn'>
constructor(opts: FieldApiOptions<TData, TParentData>)
constructor(opts: FieldApiOptions<TData, TParentData>)
mount(): () => void
mount(): () => void
update(opts: FieldApiOptions<TData, TParentData>): void
update(opts: FieldApiOptions<TData, TParentData>): void
getValue(): TData
getValue(): TData
setValue(updater: Updater<TData>, options?: { touch?: boolean; notify?: boolean }): void
setValue(updater: Updater<TData>, options?: { touch?: boolean; notify?: boolean }): void
getMeta(): FieldMeta
getMeta(): FieldMeta
setMeta(updater: Updater<FieldMeta>): void
setMeta(updater: Updater<FieldMeta>): void
getInfo(): any
getInfo(): any
pushValue(value: TData): void
pushValue(value: TData): void
insertValue(index: number, value: TData): void
insertValue(index: number, value: TData): void
removeValue(index: number): void
removeValue(index: number): void
swapValues(aIndex: number, bIndex: number): void
swapValues(aIndex: number, bIndex: number): void
validate(): Promise<any>
validate(): Promise<any>
handleBlur(): void;
handleBlur(): void;
handleChange(value: TData): void
handleChange(value: TData): void
An object type representing the state of a field.
value: TData
value: TData
meta: FieldMeta
meta: FieldMeta
Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.