Zodによる実行時バリデーション
ZodスキーマでAPIレスポンスの型を検証・推論します。
「Zodによる実行時バリデーション」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全4レッスンが含まれています。
ようこそ
Zodのインストール
npm install zod基本的なスキーマ
import { z } from 'zod';
const UserSchema = z.object({
id: z.number(),
name: z.string(),
email: z.string().email(),
});
type User = z.infer<typeof UserSchema>;データのパース
const user = UserSchema.parse({ id: 1, name: 'Alice', email: 'a@b.com' });
// user is typed as User安全なパース
const result = UserSchema.safeParse(unknownData);
if (result.success) {
console.log(result.data); // User
} else {
console.log(result.error.issues);
}配列とオブジェクトのスキーマ
const UsersSchema = z.array(UserSchema);
const CreateUserSchema = UserSchema.omit({ id: true });OptionalとNullable
const Schema = z.object({
name: z.string(),
bio: z.string().optional(), // string | undefined
avatar: z.string().nullable(), // string | null
});EnumとUnion
const StatusSchema = z.enum(['active', 'inactive', 'banned']);
const InputSchema = z.string().or(z.number());Transform
const PriceSchema = z.string().transform(s => parseFloat(s));APIルートでのZod
app.post('/users', async (req, res) => {
const result = CreateUserSchema.safeParse(req.body);
if (!result.success) return res.status(400).json(result.error);
const user = await db.create(result.data); // typed!
res.json(user);
});カスタムバリデーター
const PasswordSchema = z.string().min(8).refine(
s => /[A-Z]/.test(s), { message: 'Need uppercase' }
);確認問題
まとめ
よくある質問
「Zodによる実行時バリデーション」レッスンは無料ですか?
はい。「Zodによる実行時バリデーション」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全4レッスンが含まれています。
「Zodによる実行時バリデーション」で何を学びますか?
ZodスキーマでAPIレスポンスの型を検証・推論します。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
TypeScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「Zodによる実行時バリデーション」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このTypeScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。