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