@felte/validator-zod

中文文档
1.0.18发布于 2024/10/30MITTypeScriptESM + CJS近 30 天下载 4.1万

用 Felte 验证 Zod 软件包

中文使用文档
文档目录4 节
  1. 安装
  2. 使用量
  3. 警告
  4. 字体

@felte/验证器-zod

Tests Bundle size NPM Version codecov

在 Felte 中帮助您处理 Zod 验证的软件包 .

安装

npm install --save @felte/validator-zod zod

# Or, if you use yarn

yarn add @felte/validator-zod zod

使用量

打电话 validator 含有您 Zod 策略的天体在 schema 属性。 调用的结果可以作为延伸器传递给费尔特:

import { validator } from '@felte/validator-zod';
import { z } from 'zod';

const schema = z.object({
  email: z.string().email().nonempty(),
  password: z.string().nonempty(),
});

const { form } = createForm({
  // ...
  extend: validator({ schema }), // or `extend: [validator({ schema })],`
  // ...
});

使用 validateSchema 函数直接在 validate 选项 createForm. (不需要延长Felte).

import { validateSchema } from '@felte/validator-zod';
import { z } from 'zod';

const schema = z.object({
  email: z.string().email().nonempty(),
  password: z.string().nonempty(),
});

const { form } = createForm({
  // ...
  validate: validateSchema(schema),
  // ...
});

警告

您可以选择让此软件包指定您验证的结果 warnings 通过设置存储 level 校验函数的属性 warning这是 error 默认:

import { validator } from '@felte/validator-zod';
import { z } from 'zod';

const schema = z.object({
  email: z.string().email().nonempty(),
  password: z.string().nonempty(),
});

// We only warn if the user has started typing a value
const warnSchema = zod.object({
  password: zod
    .string()
    .refine((value) => (value ? value.length > 8 : true), {
      message: 'Password is not secure',
    }),
});

const { form } = createForm({
  // ...
  extend: [
    validator({ schema }),
    validator({ schema: warnSchema, level: 'warning' }),
  ],
  // ...
});

字体

Zod允许您用 z.infer。这个可以使用,因此不需要为表单数据创建类型:

import { z } from 'zod';

const schema = z.object({
  email: z.string().email().nonempty(),
  password: z.string().nonempty(),
});

const { form } = createForm<z.infer<typeof schema>>(/* ... */);

版本与发布记录

@felte/validator-zod 共发布 57 个版本,首次发布于 2021/03/26;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.18latest2024/10/302 年前
1.0.172023/08/303 年前
1.0.162023/06/173 年前
1.0.152023/06/153 年前
1.0.132023/01/123 年前
1.0.122022/09/274 年前

其他发布通道:next → 1.0.0-next.22。

关于 @felte/validator-zod 的常见问题

@felte/validator-zod 是什么?

用 Felte 验证 Zod 软件包

如何安装 @felte/validator-zod?

在项目目录运行 npm install @felte/validator-zod,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:zod(^3.2.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@felte/validator-zod 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@felte/validator-zod 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@felte/validator-zod 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^12.20.0 || ^14.13.1 || >=16.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@felte/validator-zod 可以商用吗?

@felte/validator-zod 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@felte/validator-zod 的下载量有多少?

根据 npm 官方下载统计,@felte/validator-zod 在 2026/10/15 – 2026/11/13 这 30 天内被下载 40,548 次,日均约 1,352 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@felte/validator-zod 还在维护吗?

最新版本 1.0.18 发布于 2024/10/30(2 年前);至今共发布 57 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/03/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。