エラーのフォーマット (Formatting errors)
Zod は、エラー報告において 完全性 と 正確性 を重視しています。多くの場合、$ZodError をより有用な形式に変換すると便利です。Zod はこのためにいくつかのユーティリティを提供しています。
この単純なオブジェクトスキーマを考えてみましょう。
この無効なデータを解析しようとすると、3つの issue を含むエラーが発生します。
z.treeifyError()
このエラーをネストされたオブジェクトに変換("treeify")するには、z.treeifyError() を使用します。
結果は、スキーマ自体を反映したネストされた構造になります。特定のパスで発生したエラーに簡単にアクセスできます。errors フィールドには指定されたパスでのエラーメッセージが含まれ、特別なプロパティ properties と items を使用してツリーの奥深くをトラバースできます。
ネストされたプロパティにアクセスするときのエラーを回避するために、オプショナルチェーン (?.) を使用してください。
z.prettifyError()
z.prettifyError() は、エラーの人間が読める文字列表現を提供します。
これは次の文字列を返します:
z.formatError()
これは z.treeifyError() のために非推奨になりました。
z.flattenError()
z.treeifyError() は潜在的に複雑なネストされた構造をトラバースするのに便利ですが、大多数のスキーマは フラット (わずか1レベルの深さ)です。この場合、z.flattenError() を使用して、クリーンで浅いエラーオブジェクトを取得します。
formErrors 配列には、トップレベルのエラー(path が [] の場合)が含まれます。fieldErrors オブジェクトは、スキーマの各フィールドのエラー配列を提供します。

