Integração com Zod
Valide CPF e CNPJ alfanumérico com Zod em TypeScript.
Use o validador de CPF e CNPJ da validation-br — as funções isCPF e isCNPJ — como predicado de um .refine() do Zod, o validador de esquemas TypeScript-first com suporte nativo a validações customizadas. Veja como plugar esses documentos brasileiros em um schema zod em TypeScript e Node.js, cobrindo tanto CPF quanto CNPJ — incluindo o novo formato alfanumérico —, como parte do mesmo schema usado para validar o restante do formulário ou payload, sem depender de bibliotecas adicionais.
Como validar CPF e CNPJ alfanumérico com Zod
import { z } from 'zod';
import { isCPF } from 'validation-br';
const schema = z.object({
cpf: z.string().refine(isCPF, { message: 'CPF inválido' }),
});
schema.parse({ cpf: '01234567890' });O mesmo padrão se aplica a CNPJ. Como isCNPJ aceita tanto o formato numérico quanto o alfanumérico (novo formato brasileiro, a partir de 2026), nenhum ajuste extra é necessário no schema:
import { z } from 'zod';
import { isCNPJ } from 'validation-br';
const schema = z.object({
// aceita CNPJ numérico e alfanumérico
cnpj: z.string().refine(isCNPJ, { message: 'CNPJ inválido' }),
});
schema.parse({ cnpj: '12ABC34501DE35' });Bibliotecas de validação de terceiros só precisam de um predicado booleano — por isso o exemplo usa
isCPFem vez denew CPF(). A API de classes é útil quando você quer o valor normalizado ou uma exceção detalhada, mas para plugar em outra lib de validaçãoisXjá é a integração completa, e funciona igual na 1.x e na 2.0.

