ZodをNext.jsで使ってみた
最近、Zodという名前をTwitterでよく見かける。
TypeScriptファーストなスキーマベースのバリデーションライブラリらしい。試しにNext.jsのクエリパラメーターのバリデーションで使ってみた。
架空の検索結果ページのクエリパラメーターをバリデーションする想定で書いてみた。
パス
/search
クエリパラメーター
key名 | 値 | 必須 | 型 | デフォルト値 | 取りうる値 | 対応するスキーマ |
---|---|---|---|---|---|---|
q | 検索文字列 | ○ | string | 1文字以上の文字列 | https://github.com/azujuuuuuun/try-zod-in-next/blob/main/src/model/search/search-query.ts | |
page | ページ番号 | number | 1 | 正の整数 | https://github.com/azujuuuuuun/try-zod-in-next/blob/main/src/model/search/page.ts | |
sort | ソート順 | string | "recommend" | "new", "recommend" | https://github.com/azujuuuuuun/try-zod-in-next/blob/main/src/model/search/sort.ts |
感想