0Pricing
TypeScript Academy · Aula

Validação em tempo de execução com Zod

Valide e infira tipos de respostas de API com esquemas Zod

Validação em tempo de execução com Zod é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 4 aulas no total.

Boas-vindas

Zod é uma biblioteca de validação de Schema voltada primeiro para TypeScript. Ela infere tipos a partir de Schemas, fornecendo validação em tempo de execução e tipos em tempo de compilação.

Instalando Zod

Instale Zod no seu projeto.
npm install zod

Schema básico

Defina um Schema e infira seu tipo TypeScript.
import { z } from 'zod';
const UserSchema = z.object({
  id: z.number(),
  name: z.string(),
  email: z.string().email(),
});
type User = z.infer<typeof UserSchema>;

Analisando dados

Use schema.parse() para validar. Ele lança um erro em caso de falha.
const user = UserSchema.parse({ id: 1, name: 'Alice', email: 'a@b.com' });
// user is typed as User

Análise segura

Use safeParse() para obter erros como valores em vez de lançá-los.
const result = UserSchema.safeParse(unknownData);
if (result.success) {
  console.log(result.data); // User
} else {
  console.log(result.error.issues);
}

Schemas de arrays e objetos

Componha Schemas complexos com z.array e z.object.
const UsersSchema = z.array(UserSchema);
const CreateUserSchema = UserSchema.omit({ id: true });

Opcional e anulável

Marque campos como optional ou nullable.
const Schema = z.object({
  name: z.string(),
  bio: z.string().optional(),   // string | undefined
  avatar: z.string().nullable(), // string | null
});

Enumeração e união

Valide valores de enumeração e tipos de união.
const StatusSchema = z.enum(['active', 'inactive', 'banned']);
const InputSchema = z.string().or(z.number());

Transformação

Transforme os valores analisados.
const PriceSchema = z.string().transform(s => parseFloat(s));

Zod em rotas de API

Valide os corpos das solicitações nas rotas de API do Express/Next.js.
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);
});

Validadores personalizados

Adicione refinamentos personalizados aos Schemas.
const PasswordSchema = z.string().min(8).refine(
  s => /[A-Z]/.test(s), { message: 'Need uppercase' }
);

Verificação rápida

Qual método o Zod fornece para validar dados sem lançar um erro em caso de falha?

Recapitulação

Validação em tempo de execução com Zod: você dominou os principais conceitos e padrões.

Perguntas Frequentes

A aula “Validação em tempo de execução com Zod” é grátis?

Sim — o texto completo de “Validação em tempo de execução com Zod” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 4 aulas no total.

O que vou aprender em “Validação em tempo de execução com Zod”?

Valide e infira tipos de respostas de API com esquemas Zod Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar TypeScript Academy?

Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Validação em tempo de execução com Zod”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de TypeScript Academy?

Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Tipando respostas de fetch com wrappers genéricos
  2. Validação em tempo de execução com Zod
  3. Geração de código OpenAPI: tipos gerados automaticamente
  4. Visão geral do cliente tRPC com segurança de tipos
← Voltar para TypeScript Academy