格式化错误
Zod 强调错误报告中的 完整性 和 正确性。在许多情况下,将 $ZodError 转换为更有用的格式是很有帮助的。Zod 提供了一些实用工具来实现这一点。
考虑这个简单的对象模式。
尝试解析这些无效数据会导致包含三个问题的错误。
z.treeifyError()
要将此错误转换(“树形化”)为嵌套对象,请使用 z.treeifyError()。
结果是一个与模式本身对应的嵌套结构。你可以轻松访问发生在特定路径处的错误。errors 字段包含给定路径的错误消息,特殊属性 properties 和 items 允许你深入遍历该树。
访问嵌套属性时,请务必使用可选链操作符(?.)以避免错误。
z.prettifyError()
z.prettifyError() 提供了错误的人类可读字符串表示。
它返回以下字符串:
z.formatError()
该方法已被弃用,建议使用 z.treeifyError() 替代。
z.flattenError()
虽然 z.treeifyError() 对于遍历可能复杂的嵌套结构很有用,但绝大多数模式是扁平的——仅有一级深度。在这种情况下,使用 z.flattenError() 获取一个干净的、浅层的错误对象。
formErrors 数组包含任何顶层错误(即 path 为空数组)。fieldErrors 对象为模式中的每个字段提供错误数组。

