Pular para o conteúdo

Campos opcionais e anuláveis

Nem todos os campos de um objeto precisam ser obrigatórios. O Zod facilita a criação de campos opcionais e anuláveis, permitindo flexibilidade no tratamento de dados incompletos ou com valores nulos.

Exemplo 1: Campos opcionais

const optionalSchema = z.object({
name: z.string(),
age: z.number().optional(), // Campo opcional
});
const data = {
name: 'Lucas',
// 'age' é opcional
};
try {
const result = optionalSchema.parse(data);
console.log('Dados validados com sucesso!', result);
} catch (err) {
console.error('Erro de validação:', err.errors);
}

Aqui, o campo age é opcional. Se não for fornecido, a validação ainda passará, sem erros.

Exemplo 2: Campos anuláveis

const nullableSchema = z.object({
name: z.string(),
age: z.number().nullable(), // Pode ser um número ou null
});
const data = {
name: 'Lucas',
age: null,
};
try {
const result = nullableSchema.parse(data);
console.log('Dados com campo nulável validados com sucesso!', result);
} catch (err) {
console.error('Erro de validação:', err.errors);
}

Com nullable(), você pode permitir que um campo seja nulo, o que pode ser útil para dados que podem estar incompletos ou vazios.