schema-dsl 功能索引

当你知道自己要解决的能力问题、但不知道文档名称时,使用本页。若要逐页查看全部文档,请看 文档地图

定义 Schema

能力主要文档
编写紧凑 DSL 字符串DSL 语法, 快速上手
定义对象 schemaDSL 语法, DSL 对象支持
标记必填或可选字段可选标记 ?, 类型参考
使用枚举值枚举, DSL 语法
允许多个类型联合类型, 联合类型指南, 多类型支持
使用数字范围和比较运算符数字比较运算符, DSL 语法
使用 builder 链式方法链式字段方法列表, TypeScript 指南
使用直接 String 链式 helperString 扩展, TypeScript 指南

验证数据

能力主要文档
同步验证validate(), 验证指南
异步验证validateAsync(), 错误处理
批量验证批量验证, 验证指南
复用 Validator 实例Validator, 性能指南
预编译 schema编译, Validator
添加条件规则条件 API, 验证指南
格式化和自定义错误错误处理, i18n 用户指南

运行时、TypeScript 与副作用

能力主要文档
理解 TypeScript 类型推导边界TypeScript 指南, API 参考
选择 schema-dsl/pureschema-dsl/runtime运行时隔离, 快速上手
使用副作用受控入口String 扩展, 运行时隔离
按 app、plugin、tenant 或 worker 隔离运行时状态运行时隔离, 运行时 locale 支持
在运行时处理 locale 和消息运行时 locale 支持, 动态语言切换

导出与互操作

能力主要文档
理解 JSON Schema 输出JSON Schema 基础, API 参考
导出数据库 schema导出指南, 导出限制
导出到 MongoDBMongoDB 导出, 导出指南
导出到 MySQLMySQL 导出, 导出指南
导出到 PostgreSQLPostgreSQL 导出, 导出指南
导出 schema 文档Markdown 导出, 导出指南
转换 schema 类型TypeConverter, JSON Schema 基础

复用与扩展

能力主要文档
复用 schema 片段SchemaUtils, SchemaUtils 链式调用
使用 schema 工具实践模式SchemaUtils 最佳实践, SchemaUtils 进阶问题
分析或转换 schema 对象SchemaHelper, Validator 缓存
选择扩展路径扩展概览, 框架集成与目录结构
添加自定义 DSL 类型自定义 DSL 类型, 扩展概览
使用直接 String 链式源码String 扩展, TypeScript 指南
添加自定义关键字自定义校验关键字
封装插件生命周期和 hook插件管理器(高级)

国际化

能力主要文档
使用内置 locale 支持i18n 概览, 多语言支持
在应用中配置 i18ni18n 用户指南, 运行时 locale 支持
动态切换语言动态语言切换, 前端 i18n 指南
添加自定义语言包添加自定义语言包, i18n 用户指南

生产使用

能力主要文档
选择生产实践模式最佳实践, 项目结构最佳实践
优化性能性能指南, Validator 缓存
审查安全相关用法安全注意事项, 导出限制
诊断常见失败故障排查, FAQ

API 参考

需求主要文档
完整公开 API 细节API 参考
紧凑 API 入口API 概览
按页面查找文档文档地图

示例

资源用途
examples/docs文档页对应的可运行示例。
feature-index.ts串联 DSL、String 扩展和导出器的代表性示例。
chain-methods.ts覆盖字段 builder 链式方法的可运行示例。
extensions-overview.ts覆盖扩展路径总览的可运行示例。
custom-extensions.ts覆盖纯 DSL、s('...')s.xxx() 和 runtime 作用域入口的自定义 DSL 类型示例。
object-dsl-builder.ts覆盖对象 builder 链式写法、必填字段控制和对象 schema 转换。
real-world.ts覆盖用户、商品、订单、查询、默认值和异步校验的生产式组合示例。