01
FormalNode初探
什么是FormalNode、为什么需要属性验证、FormalNode在表单系统中的定位。
概念定位
02
核心概念解析
节点(Node)、属性(Props)、验证规则(Rules)、错误对象(Error Object)。
核心架构
03
环境搭建与工具链
Node.js环境、TypeScript配置、Jest测试框架、ESLint与Prettier。
工具配置
04
第一个FormalNode实例
创建简单的表单节点、定义基础属性、输出节点结构。
入门实例
05
属性类型系统
String、Number、Boolean、Array、Object、自定义类型。
类型系统
06
必填属性验证
required规则、条件必填、动态必填逻辑。
必填动态
07
类型校验深入
typeof与instanceof、类型守卫、联合类型与交叉类型。
类型守卫
08
正则表达式验证
邮箱、手机号、URL、自定义正则模式。
正则格式
09
范围与长度验证
min/max、minLength/maxLength、数值与字符串的边界处理。
范围边界
10
枚举与固定值验证
enum、oneOf、固定值匹配、白名单/黑名单。
枚举白名单
11
自定义验证函数
同步验证器、异步验证器、Promise与async/await。
自定义异步
12
嵌套对象验证
深层次属性校验、递归验证、路径定位。
嵌套递归
13
数组元素验证
数组内每个元素的规则、数组长度、唯一性校验。
数组唯一性
14
条件验证逻辑
if-then-else、依赖属性、联动校验。
条件联动
15
错误信息定制
默认错误文案、国际化(i18n)、动态错误模板。
i18n模板
16
错误定位策略
路径表达式(path)、错误栈(error stack)、精准定位到字段。
定位调试
17
批量验证与性能优化
一次性验证所有规则、短路验证、缓存验证结果。
性能批量
18
事件驱动的验证
change事件、blur事件、submit事件、防抖与节流。
事件防抖
19
FormalNode与UI框架集成
React、Vue、Angular中的使用模式。
ReactVueAngular
20
中间件与插件系统
验证中间件、错误格式化插件、日志插件。
插件中间件
21
单元测试与覆盖率
Jest测试验证规则、Mock数据、边界条件测试。
测试Jest
22
常见错误模式与反模式
过度验证、忽略异步、错误信息冗余。
反模式经验
23
调试技巧
console.log断点、Chrome DevTools、sourcemap定位。
调试DevTools
24
错误边界处理
try-catch、全局错误捕获、优雅降级。
错误边界降级
25
版本管理与兼容性
语义化版本、Breaking Change处理、迁移指南。
版本迁移
26
实战案例一:用户注册表单
含密码强度、确认密码、邮箱。
实战注册
27
实战案例二:复杂配置表单
含动态字段、嵌套数组、条件显示。
实战动态
28
实战案例三:API请求参数验证
含请求体、查询参数、路径参数。
实战API
29
性能压测与调优
大规模节点验证、内存泄漏排查、CPU Profiling。
性能压测
30
总结与最佳实践
设计模式、团队规范、文档生成、持续集成。
总结规范