useAsyncValidator
async-validator
的包装器。
演示
在 @vueuse/integrations 附加组件中可用。安装
bash
npm i async-validator@^4
用法
ts
import { useAsyncValidator } from '@vueuse/integrations/useAsyncValidator'
js
export {}
类型声明
显示类型声明
typescript
export type AsyncValidatorError = Error & {
errors: ValidateError[]
fields: Record<string, ValidateError[]>
}
export interface UseAsyncValidatorExecuteReturn {
pass: boolean
errors: AsyncValidatorError["errors"] | undefined
errorInfo: AsyncValidatorError | null
errorFields: AsyncValidatorError["fields"] | undefined
}
export interface UseAsyncValidatorReturn {
pass: ShallowRef<boolean>
isFinished: ShallowRef<boolean>
errors: ComputedRef<AsyncValidatorError["errors"] | undefined>
errorInfo: ShallowRef<AsyncValidatorError | null>
errorFields: ComputedRef<AsyncValidatorError["fields"] | undefined>
execute: () => Promise<UseAsyncValidatorExecuteReturn>
}
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.cn/useAsyncValidator
* @see https://github.com/yiminghe/async-validator
*/
export declare function useAsyncValidator(
value: MaybeRefOrGetter<Record<string, any>>,
rules: MaybeRefOrGetter<Rules>,
options?: UseAsyncValidatorOptions,
): UseAsyncValidatorReturn & PromiseLike<UseAsyncValidatorReturn>
源码
贡献者
更新日志
v12.8.0
于 2025/3/5v12.3.0
于 2025/1/259f75
- feat(toValue): 弃用 @vueuse/shared
中的 toValue
,转而使用 Vue 原生方法v12.0.0-beta.1
于 2024/11/21v10.0.0-beta.4
于 2023/4/134d757
- feat(types)!: 将 MaybeComputedRef
重命名为 MaybeRefOrGetter
10e98
- feat(toRef)!: 将 resolveRef
重命名为 toRef
0a72b
- feat(toValue): 将 resolveUnref
重命名为 toValue
v10.0.0-beta.2
于 2023/3/28v10.0.0-beta.1
于 2023/3/23v10.0.0-beta.0
于 2023/3/14v9.13.0
于 2023/2/18