Integração com Yup
Valide CPF e CNPJ alfanumérico com Yup em JavaScript.
Use a integração entre isCPF/isCNPJ da validation-br e o Yup para validar formulários e estado em aplicações React, registrando um método customizado (.cpf(), .cnpj() etc) com yup.addMethod. Veja como plugar essa validação em JavaScript, TypeScript e Node.js: a mesma técnica funciona tanto para CPF quanto para CNPJ, incluindo o formato alfanumérico, e depois de registrado o método fica disponível em qualquer schema yup.string() do projeto.
Como validar CPF e CNPJ alfanumérico com Yup
import * as yup from 'yup';
import { isCPF } from 'validation-br';
yup.addMethod(yup.string, 'cpf', function (message) {
return this.test('cpf', message ?? 'CPF inválido', (value) => isCPF(value));
});
const schema = yup.object().shape({
cpf: yup.string().required().cpf(),
});O mesmo registro pode ser feito para CNPJ. Como isCNPJ já valida CNPJ alfanumérico (novo formato, a partir de 2026) além do numérico, o método .cnpj() cobre os dois automaticamente:
import * as yup from 'yup';
import { isCNPJ } from 'validation-br';
yup.addMethod(yup.string, 'cnpj', function (message) {
return this.test('cnpj', message ?? 'CNPJ inválido', (value) => isCNPJ(value));
});
const schema = yup.object().shape({
cnpj: yup.string().required().cnpj(),
});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.

