Biblioteca PHP para validação de documentos do Brasil usando Laravel
Por favor, considere fazer uma doação, apoie nossas atividades
Para a versão legada compatível com Laravel 5 consulte o branch https://github.com/geekcom/validator-docs/tree/5.x.x
- Validar qualquer documento do Brasil;
 - Código testado e confiável;
 - Open Source;
 - Usado por milhares de sistemas;
 - Aprovado pela comunidade Laravel.
 
No arquivo composer.json, adicione validator-docs como dependência do seu projeto:
"require": {
    "geekcom/validator-docs" : "^3.9"
 },
Depois execute:
composer installOu simplesmente execute o comando:
composer require geekcom/validator-docsPara executar os testes, basta fazer o seguinte:
- Instale as dependências do projeto;
 
composer install- Execute os testes.
 
composer testAgora que os métodos de validação validator-docs Brasil estão disponíveis, será possível usar da seguinte forma:
- cpf - Verifica se um CPF é valido;
 
$this->validate($request, [
    'cpf' => 'required|cpf',
]);- cnpj - Verifica se um CNPJ é valido;
 
$this->validate($request, [
    'cnpj' => 'required|cnpj',
]);- cnh - Verifica se uma CNH (Carteira Nacional de Habilitação) é válida;
 
$this->validate($request, [
    'cnh' => 'required|cnh',
]);- passaporte - Verifica se uma Passaporte Brasileiro é válido;
 
$this->validate($request, [
    'passaporte' => 'required|passaporte',
]);- titulo_eleitor - Verifica se um Título Eleitoral é válido;
 
$this->validate($request, [
    'titulo_eleitor' => 'required|titulo_eleitor',
]);- cpf_cnpj - Verifica se um CPF ou CNPJ é válido;
 
$this->validate($request, [
    'cpf_cnpj' => 'required|cpf_cnpj',
]);- inscricao_estadual - Verifica se uma Inscrição Estadual é valida para uma Unidade Federativa(UF)/Estado;
 
$this->validate($request, [
    'inscricao_estadual' => 'required|inscricao_estadual:UF',
]);- nis - Verifica se um PIS/PASEP/NIT/NIS é válido;
 
$this->validate($request, [
    'nis' => 'required|nis',
]);- cns - Verifica se um Cartão Nacional de Saúde (CNS) é válido;
 
$this->validate($request, [
    'cns' => 'required|cns',
]);- certidao - Verifica se uma certidão de nascimento/casamento/óbito é válida;
 
$this->validate($request, [
    'certidao' => 'required|certidao',
]);- renavam - Verifica se um Registro Nacional de Veículos Automotores (RENAVAM) é válido;
 
$this->validate($request, [
    'renavam' => 'required|renavam',
]);- placa - Verifica se a PLACA de um veículo é válida;
 
$this->validate($request, [
    'placa' => 'required|placa',
]);- ddd - Verifica se um número de DDD é válido;
 
$this->validate($request, [
    'ddd' => 'required|ddd',
]);- formato_cnpj - Verifica se o formato
(99.999.999/9999-99)de um CNPJ é válido; 
$this->validate($request, [
    'formato_cnpj' => 'required|formato_cnpj',
]);- formato_cpf - Verifica se o formato(
999.999.999-99) de um CPF é válido; 
$this->validate($request, [
    'formato_cpf' => 'required|formato_cpf',
]);- formato_cpf_cnpj - Verifica se o formato de um CPF ou de um CNPJ é válido;
 
$this->validate($request, [
    'formato_cpf_cnpj' => 'required|formato_cpf_cnpj',
]);- formato_nis - Verifica se o formato(
999.99999-99.9) de um PIS/PASEP/NIT/NIS é válido; 
$this->validate($request, [
    'formato_nis' => 'required|formato_nis',
]);- formato_certidao - Verifica se o formato(
99999.99.99.9999.9.99999.999.9999999-99ou99999 99 99 9999 9 99999 999 9999999 99), de uma certidão é válida. 
$this->validate($request, [
    'formato_certidao' => 'required|formato_certidao',
]);No exemplo abaixo, fazemos um teste onde verificamos a formatação e a validade de um CPF ou CNPJ, para os casos onde a informação deve ser salva em um mesmo atributo:
$this->validate($request, [
    'cpf_or_cnpj' => 'formato_cpf_cnpj|cpf_cnpj',
]);Método de validação de exemplo em um controller com todas as possibilidades de validação
public function store(Request $request)
{
    $data = $request->all();
    $this->validate($request, [
        'cpf' => 'required|cpf',
        'cnpj' => 'required|cnpj',
        'cnh' => 'required|cnh',
        'titulo_eleitor' => 'required|titulo_eleitor',
        'nis' => 'required|nis',
        'cns' => 'required|cns',
        'ddd' => 'required|ddd',
        'renavam' => 'required|renavam',
        'placa' => 'required|placa',
        'certidao' => 'required|certidao',
        'inscricao_estadual' => 'required|inscricao_estadual:SP',
        'passaporte' => 'required|passaporte',
    ]);
    dd($data);
}Observe que para validar uma inscrição estadual é necessário informar a UF
- CNH - http://4devs.com.br/gerador_de_cnh
 - TÍTULO ELEITORAL - http://4devs.com.br/gerador_de_titulo_de_eleitor
 - CNPJ - https://geradornv.com.br/gerador-cnpj/
 - CPF - https://geradornv.com.br/gerador-cpf/
 - NIS - https://www.4devs.com.br/gerador_de_pis_pasep
 - CNS - https://geradornv.com.br/gerador-cns/
 - CERTIDÕES - https://www.4devs.com.br/gerador_numero_certidoes
 - INSCRIÇÃO ESTADUAL - https://www.4devs.com.br/gerador_de_inscricao_estadual
 - RENAVAM - https://www.4devs.com.br/gerador_de_renavam
 - PLACA - https://www.4devs.com.br/gerador_de_placa_automoveis
 - Passaporte Brasileiro - https://geradornv.com.br/gerador-passaporte/
 
Fique a vontade para contribuir de qualquer forma.
Caso tenha alguma dúvida ou encontre algum bug, abra uma issue ou pesquise por issues antigas.
Contribuições de qualquer tipo são bem-vindas!