Zodスキーマ
この能力は、Zodに関わる変更(スキーマの記述、パースの配置、ペイロードのデコード、エラーの発生)があるたびに使用します。このスキルはスキーマレイヤー(形状、パース呼び出し、その形状が生成する型、生成されるエラー、ワイヤーフォーマットとドメインモデル間でデータを運ぶコーデック)を担当します。
以下の4つの隣接する質問は担当しません。それぞれ別の能力が担当します。
- 入力がそもそも信頼できないかどうか、したがってチェックが必要かどうか — アプリケーションセキュリティ能力の判断です。このスキルはその判断が行われたことを前提とし、Zodがどのようにそれを実行するかを示します。
- パースを配置するためのフックが存在すること — ルートハンドラー、サーバー関数、フォームアクション — フレームワーク能力の事実です。
- フェッチされたペイロードがいつ再フェッチ、キャッシュ、または無効化されるか — サーバーステート能力の関心事です。このスキルは、自身が担当するクエリ関数内にのみパースを配置します。
- コンポーネントがパース結果をどのように受け取り、レンダリングし、テストされるか — コンポーネント開発能力の関心事です。
ここでのルールに上記のいずれかに対応するものがある場合、このスキルはZodのメカニズムを説明し、他の能力を所有者として指名します。
バージョン規律。 このスキルはZod 4のみを対象に記述されています。Zod 3はサポート対象外です。移行パス、zod/v3のガイダンス、Zod 3形式のルールはありません。Zod 3が登場する唯一の場所は検出シグナルとしてです。つまり、古いイディオムのリストであり、古いコードを認識して現在の形式に置き換えるためのものです。これはZod 4コードベースに関するZod 4のルールであり、Zod 3をカバーするものではありません。ここでの境界は通常以上に重要です。なぜなら、チュートリアル、フォーラム投稿、モデルの想起においてZod 3の回答がZod 4の回答を依然として上回っており、ほとんどのZod 3イディオムはZod 4のインストールに対してもコンパイルされるため、「動作する」ということはルールが最新である証拠にはならないからです。Zod 4は同じメジャーバージョン内でも変化します。z.xor、z.invertCodec、.brand方向パラメーターはすべて4.0より後に追加されました。バージョンに依存するすべての記述は、それが検証されたバージョンを明示し、表面が変動することがわかっている場合、ルールはルックアップ(つまり、インストールされているバージョンのドキュメントhttps://zod.dev/を参照)であり、固定されたAPI名ではありません。このスキルまたは他の場所で、Zod APIに関するバージョンを示さない主張は疑わしいものとして扱ってください。
検証済み [email protected](2026-05-04公開)— https://zod.dev/ — 前提条件としてTypeScript 5.5+およびstrict: true。各参照ファイルには、ルールが照合された上流ページとともに独自の「検証済み」行があります。
対象外。 あらゆる形式のZod 3。4.5.0-canaryライン(このスキルのルールはこれに基づいていません)。他のバリデーションライブラリ(Standard Schemaの相互運用性はカバーされますが、ValibotやArkTypeの独自APIはカバーされません)。Zodスキーマを出力するコード生成ツールは、手動で記述する必要があるものを変更する場合にのみ名前が挙げられますが、それらのツール自体の設定は対象外です。
この文書のキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、「OPTIONAL」は、RFC 2119で説明されているように解釈されるものとします。
バリデーション境界
validation-boundary.mdを参照してください。
- データが入る境界で1回のパースを配置し、その内側では再パースしないこと
- パースの上流では
unknown、下流ではz.infer<typeof Schema>を使用し、手書きのインターフェースは使用しないこと - アプリケーションセキュリティ、フレームワーク、サーバーステート、コンポーネントの各能力に属する質問
- スキーマがコストをかけても購入しないケース — 内部データ、既にパースされた値、アイテムごとのループ
- Zodを別のバリデーターと並行して実行し、1か所で変換すること
バージョンとパッケージ
version-and-packages.mdを参照してください。
- ページを信頼する前に
zod.dev(Zod 4)とv3.zod.dev(Zod 3)を区別すること zod、zod/mini、zod/locales、zod/v4/*パーマリンクから選択すること- 推論されたオプショナリティが不完全になるTypeScript 5.5+および
strict: trueの前提 z.xor、z.invertCodec、.safeExtend、z.property、.brand方向のマイナーバージョンフロア- Zod 4に対してもコンパイルされるZod 3イディオム(古さのシグナルとして)
スキーマモジュール
schema-modules.mdを参照してください。
const X/type XおよびzX命名規則、リポジトリごとに1つを選択すること- 他のスキーマが構成する語彙としての共有
EntityId、Timestamp、NonEmptyStringプリミティブ - `.brand<