Validering vid körning med Zod
Validera och härled typer för API-svar med Zod-scheman
Validering vid körning med Zod är en gratis lektion i TypeScript Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för TypeScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i TypeScript Academy innehåller totalt 4 lektioner.
Välkommen
Installera Zod
npm install zodGrundläggande schema
import { z } from 'zod';
const UserSchema = z.object({
id: z.number(),
name: z.string(),
email: z.string().email(),
});
type User = z.infer<typeof UserSchema>;Tolka data
const user = UserSchema.parse({ id: 1, name: 'Alice', email: 'a@b.com' });
// user is typed as UserSäker tolkning
const result = UserSchema.safeParse(unknownData);
if (result.success) {
console.log(result.data); // User
} else {
console.log(result.error.issues);
}Array- och objektscheman
const UsersSchema = z.array(UserSchema);
const CreateUserSchema = UserSchema.omit({ id: true });Valfria och nullbara värden
const Schema = z.object({
name: z.string(),
bio: z.string().optional(), // string | undefined
avatar: z.string().nullable(), // string | null
});Enum och union
const StatusSchema = z.enum(['active', 'inactive', 'banned']);
const InputSchema = z.string().or(z.number());Transform
const PriceSchema = z.string().transform(s => parseFloat(s));Zod i API-rutter
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);
});Anpassade validatorer
const PasswordSchema = z.string().min(8).refine(
s => /[A-Z]/.test(s), { message: 'Need uppercase' }
);Snabbtest
Sammanfattning
Lär dig TypeScript med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 101
- Lektioner
- 352
Vanliga frågor
Är lektionen ”Validering vid körning med Zod” gratis?
Ja – hela texten till ”Validering vid körning med Zod” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i TypeScript Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i TypeScript Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Validering vid körning med Zod”?
Validera och härled typer för API-svar med Zod-scheman Ni övar på TypeScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig TypeScript Academy?
Du behöver inga förkunskaper. Utbildningen i TypeScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Validering vid körning med Zod”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här TypeScript Academy-lektionen?
Ja. Varje TypeScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Typa fetch-svar med generiska wrappers
- Validering vid körning med Zod
- OpenAPI-kodgenerering: automatiskt genererade typer
- Översikt över typsäker tRPC-klient