用途:Yup 是一个面向 JavaScript 与 TypeScript 的架构(schema)校验库,用链式且流畅的 API 描述数据结构并校验数据,常见于表单校验等场景。
主要能力:支持 string、number、boolean、date、array、tuple、object、mixed 等类型,可声明 required、min、max、matches、email、url、uuid、positive、integer、oneOf、default 等约束;对象可设 noUnknown、strict。支持异步 test() 自定义校验、addMethod() 注册可复用校验器、when() 依赖其他字段做条件校验,以及通过 transform()/cast() 做值转换。提供 InferType 从架构推导 TypeScript 类型。
使用方式:安装 npm install yup,导入 import * as yup from 'yup',用 yup.object({...}) 构建架构,再调用 validate()(异步)、validateSync() 或 isValid() 校验;validate() 可传 abortEarly、stripUnknown、strict、context 等选项。与 React Hook Form 集成需配合 @hookform/resolvers/yup 的 yupResolver;与 Formik 集成可用 validationSchema 属性。
适用场景:表单数据校验、对象与数组结构校验、条件依赖校验、需要类型推导的 TypeScript 项目。
限制:资料未提供性能、体积、版本兼容性与浏览器支持等信息;未提供收费或价格信息;资料以英文文档为主,未给出完整的错误处理细节。具体 API 细节以官方文档 references/methods.md 为准。