--- category: '@Integrations' --- # useAsyncValidator Wrapper for [`async-validator`](https://github.com/yiminghe/async-validator). ## Install ```bash npm i async-validator@^4 ``` ## Usage ```ts import { useAsyncValidator } from '@vueuse/integrations/useAsyncValidator' ``` ## Type Declarations ```ts export type AsyncValidatorError = Error & { errors: ValidateError[] fields: Record } export interface UseAsyncValidatorExecuteReturn { pass: boolean errors: AsyncValidatorError["errors"] | undefined errorInfo: AsyncValidatorError | null errorFields: AsyncValidatorError["fields"] | undefined } export interface UseAsyncValidatorReturn { pass: ShallowRef isFinished: ShallowRef errors: ComputedRef errorInfo: ShallowRef errorFields: ComputedRef execute: () => Promise } export interface UseAsyncValidatorOptions { /** * @see https://github.com/yiminghe/async-validator#options */ validateOption?: ValidateOption /** * The validation will be triggered right away for the first time. * Only works when `manual` is not set to true. * * @default true */ immediate?: boolean /** * If set to true, the validation will not be triggered automatically. */ manual?: boolean } /** * Wrapper for async-validator. * * @see https://vueuse.org/useAsyncValidator * @see https://github.com/yiminghe/async-validator */ export declare function useAsyncValidator( value: MaybeRefOrGetter>, rules: MaybeRefOrGetter, options?: UseAsyncValidatorOptions, ): UseAsyncValidatorReturn & PromiseLike ```