SuperAPI AI 工具集

form-validation

编程与开发

查看项目

更新于 10-15 23:33

技能介绍

用途:在表单、API 请求、运行时数据与外部数据解析场景中做校验,并保证类型安全。覆盖 Zod、Yup、React Hook Form、Formik 四类库,强调根据项目上下文选择方案。

主要能力:先检查 AGENTS.md 与 package.json 确认已安装的库,优先复用而不强推新库;从 schema 推导类型(如 z.infer、yup.InferType)作为单一事实来源;使用非抛错校验(Zod 的 safeParse、Yup 的 try/catch 捕获 ValidationError);对字段做链式多重约束(如 email 加 min/max)。

使用方式:按决策树选择——项目已有库则用对应模式;无库时 React 推荐 React Hook Form + Zod,Node.js 推荐 Zod;仅需 schema 校验用 Zod 或 Yup;需要表单管理用 React Hook Form 或 Formik;异步校验各库均支持(Zod 的 parseAsync/refine、Yup 的 validate、RHF 的 resolver、Formik 的 validate)。示例中 React Hook Form 配合 zodResolver 与 z.infer 定义表单类型。

适用场景:用户输入校验、API 输入校验、运行时 schema 校验、带类型安全的外部数据解析、带校验的表单状态管理。

限制:不用于编译期类型(应使用 typescript 技能),也不用于少于 3 个字段的简单校验。多库并存时按上下文分别使用,迁移时一次一个表单或端点,不在同一表单内混用;TypeScript 严格模式需 tsconfig 中 strict: true。参考资料包括 references/zod.md、yup.md、react-hook-form.md、formik.md 及 README.md。