用途:在信任边界处校验不可信数据,防止脏数据流入系统,并防御注入、XSS、DoS 等风险。核心原则:解析而非校验,返回带类型值;边界处校验一次后内部信任;服务端为权威,客户端校验仅作体验;允许清单优于拒绝清单;先规范化再校验;编码不等于校验;长度/大小/深度限制即校验。
主要能力:Zod(TS)用 safeParse 返回可判别结果,.strict() 拒绝未知键以防批量赋值;Pydantic v2 用 model_validate、extra="forbid",注意 v1 写法迁移与宽松模式强制转换;JSON Schema/Ajv 跨语言共享契约,启动时编译一次,避免默认开启 coerceTypes/removeAdditional/useDefaults。还含类型强制转换陷阱、按 HTML/属性/JS/URL/CSS/SQL/Shell 上下文的输出编码与 DOMPurify 允许清单清理、路径穿越规范化限制、ReDoS 与体积深度 DoS 缓解、文件上传按内容校验、数据管道校验(Great Expectations)及 ML 训练/服务特征一致性。
使用方式:在 HTTP 处理器、队列消费者、文件/CLI 解析器、管道摄取、跨服务调用等边界先规范化再校验,按 sink 编码;SQL 参数化、Shell 用 argv 数组。限制:Zod 不清理 HTML;EmailStr 需安装 email-validator;格式校验需 ajv-formats;具体安装命令与版本资料未提供。