O que são schemas?
Um schema é basicamente uma definição da estrutura e das regras de um dado. Ele diz respeito ao tipo e às características que esse dado deve ter. Por exemplo, podemos definir que o dado de um usuário precisa conter um nome (string) e uma idade (número).
Os schemas são muito úteis para garantir que nossos dados estejam no formato correto, especialmente quando estamos recebendo informações de fontes externas, como APIs ou formulários de usuário.
Em Zod, um schema não só define a estrutura de dados, mas também faz a validação deles de maneira simples e eficiente.
Criando Schemas com Zod
Agora que entendemos o conceito de schema, vamos ver como o Zod nos permite criar e validar esses schemas de forma prática.
Vamos começar com um exemplo básico: validar os dados de um usuário.
Exemplo 1: Definindo um schema para um usuário
Explicação
Aqui, criamos um schema chamado UserSchema
com duas propriedades: name
, que deve ser uma string, e age
, que deve ser um número maior ou igual a 18. Usamos o método parse
para validar o dado. Se o dado não cumprir as regras definidas no schema, um erro será lançado.
Exemplo 2: Validando arrays
Agora, vamos adicionar uma lista de hobbies para o usuário, onde cada hobby deve ser uma string.
Agora, além do nome e da idade, também validamos uma lista de hobbies, garantindo que seja um array de strings. Se qualquer hobby for de um tipo diferente, como um número, o Zod lançará um erro.
Exemplo 3: Valores opcionais e padrões
Às vezes, alguns campos são opcionais ou têm valores padrão. Vamos ver como Zod trata isso:
Aqui, a age
tem um valor padrão de 30, e bio
é opcional. Se não fornecer esses campos no dado, o Zod irá preencher automaticamente o valor da age
com 30, e a bio
simplesmente será ignorada.
Por que Zod?
Zod é uma ferramenta poderosa para garantir que os dados que entram no seu sistema tenham o formato correto, ajudando a evitar erros que poderiam ocorrer no uso dos dados. Ele é fácil de integrar com TypeScript e oferece uma API intuitiva e declarativa.
Recapitulando
- Schemas definem a estrutura e as regras para os dados.
- Usamos o Zod para criar e validar esses schemas de maneira fácil e eficiente.
- O método
.parse()
faz a validação e lança um erro se o dado não cumprir o schema. - Podemos validar objetos, arrays, e até definir valores opcionais ou padrões.
Espero que tenham entendido bem o conceito de schemas e como utilizá-los com Zod. Agora, vamos seguir com mais exemplos e explorar como o Zod pode se integrar com bibliotecas de formulários como React Hook Forms!