SuperAPI AI 工具集

zod-validation

编程与开发

查看项目

更新于 10-16 04:36

技能介绍

Zod Validation 是一份围绕 Zod v3+ 展开的类型安全 Schema 校验技能,重点服务于运行时数据校验、表单处理以及 API 契约定义。它的核心价值在于类型安全:采用 TypeScript 优先的 Schema 校验方式,在运行时检查数据类型,并支持从 Schema 推断 TypeScript 类型,同时具备可组合、可复用、错误信息丰富和零依赖等特点。

在主要能力上,该技能覆盖了 Zod 的常用与进阶用法。基础类型部分介绍字符串、数字、布尔、日期、BigInt、Symbol、undefined、null、void、any、unknown、never 等原语;字符串校验支持 min、max、email、url、uuid、regex、startsWith、endsWith、includes、trim、toLowerCase、toUpperCase、length、datetime、date、time、ip 等约束与格式;数字校验支持 min、max、positive、negative、nonnegative、nonpositive、int、multipleOf、finite、safe,并可通过 z.coerce.number() 将字符串强制转换为数字。

对象 Schema 方面,文档展示了基本对象定义、z.infer 类型推断、optional 与 nullable、默认值、嵌套对象,以及 partial、required、pick、omit 等字段变换,还有 extend 与 merge 的组合方式。此外还涵盖数组的 min、max、nonempty 约束,元组及其 rest 参数,枚举(含原生枚举与 TypeScript 原生枚举 nativeEnum)、字面量、联合类型与可辨识联合(discriminatedUnion)。

自定义校验部分介绍了 refine(单字段、多字段、异步)、transform(同步、异步转换)以及 superRefine 高级用法。解析与校验部分区分 parse(出错抛出异常)和 safeParse(返回结果对象),并支持 parseAsync 与 safeParseAsync 处理异步场景。错误处理方面说明了错误结构、format() 与 flatten() 格式化、自定义错误消息以及全局错误映射 z.setErrorMap。

该技能还强调可复用 Schema 的构建,包括 Schema 组合、Schema 工厂(如通用分页 Schema)以及跨包共享校验 Schema 的做法。高级模式部分涵盖品牌类型(brand)、惰性 Schema(z.lazy,用于递归类型)、catch 回退值以及 pipe 链式 Schema。

使用方式上,需先通过 npm install zod 安装,再从 "zod" 导入 z 并按上述模式定义与解析 Schema。

适用场景包括表单校验、API 输入输出契约定义、运行时数据解析,以及在 TypeScript 项目中统一共享校验逻辑。限制方面,资料未提供关于浏览器兼容性、性能基准、服务端运行环境要求或具体版本差异的说明,暂未提供。