跳到内容

useAsyncValidator

类别
导出大小
1.14 kB
@vueuse/integrations
上次更改
5 天前

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>

源码

源码演示文档

贡献者

Anthony Fu
Anthony Fu
IlyaL
Jaw
Jelf
James Garbutt
Doctorwu
류한경
Bakhtiyor Ruziev
Bakhtiyor Ruziev
Hawtim
vaakian X
Curt Grimes

更新日志

v12.8.0 于 2025/3/5
7432f - feat(types): 弃用 MaybeRefMaybeRefOrGetter,转而使用 Vue 原生方法 (#4636)
v12.3.0 于 2025/1/2
59f75 - feat(toValue): 弃用 @vueuse/shared 中的 toValue,转而使用 Vue 原生方法
v12.0.0-beta.1 于 2024/11/21
0a9ed - feat!: 移除 Vue 2 支持,优化 bundles 并清理代码 (#4349)
v10.0.0-beta.4 于 2023/4/13
4d757 - feat(types)!: 将 MaybeComputedRef 重命名为 MaybeRefOrGetter
10e98 - feat(toRef)!: 将 resolveRef 重命名为 toRef
0a72b - feat(toValue): 将 resolveUnref 重命名为 toValue
v10.0.0-beta.2 于 2023/3/28
16461 - feat: 添加 manual 选项 (#2903)
v10.0.0-beta.1 于 2023/3/23
79176 - feat: 添加 immediate 和 execute (#2899)
v10.0.0-beta.0 于 2023/3/14
93b45 - fix: 修复选择构造函数的错误条件 (#2788)
v9.13.0 于 2023/2/18
dbcdb - fix: 修复从 async-validator 导入 Schema 的问题 (#2761)

根据 MIT 许可证发布。