Validação de documentos do Brasil usando Laravel 6/7
Para a versão compatível com Laravel 5 consulte o branch https://github.com/geekcom/validator-docs/tree/5.x.x
Biblioteca Laravel para validação de CPF, CNPJ, CPF/CNPJ (quando salvos no mesmo atributo), CNH, PIS/PASEP/NIT/NIS, Título de Eleitor, Cartão Nacional de Saúde(CNS) e Certidões(nascimento/casamento/óbito).
No arquivo composer.json
, adicione validator-docs como dependência do seu projeto:
"require": {
"geekcom/validator-docs" : "^3.3"
},
Depois execute:
composer install
Ou simplesmente execute o comando:
composer require geekcom/validator-docs
Agora, você terá os métodos de validação validator docs Brasil disponíveis.
- 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',
]);
- titulo_eleitor - Verifica se um Título de Eleitor é 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',
]);
- nis - Verifica se um PIS/PASEP/NIT/NIS é válido.
$this->validate($request, [
'nis' => 'required|nis',
]);
- cns - Verifica se um Cartão Nciona 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',
]);
- formato_cnpj - Verifica se o formato de um CNPJ é válida. ( 99.999.999/9999-99 )
$this->validate($request, [
'formato_cnpj' => 'required|formato_cnpj',
]);
- formato_cpf - Verifica se o formato de um CPF é válido. ( 999.999.999-99 )
$this->validate($request, [
'formato_cpf' => 'required|formato_cpf',
]);
- formato_cpf_cnpj - Verifica se o formato de um CPF ou um CNPJ é válido. ( 999.999.999-99 ) ou ( 99.999.999/9999-99 )
$this->validate($request, [
'formato_cpf_cnpj' => 'required|formato_cpf_cnpj',
]);
- formato_nis - Verifica se o formato de um PIS/PASEP/NIT/NIS é válido. ( 999.99999-99.9 )
$this->validate($request, [
'formato_nis' => 'required|formato_nis',
]);
- formato_certidao - Verifica se o formato de uma certidão é válida. ( 99999.99.99.9999.9.99999.999.9999999-99 ou 99999 99 99 9999 9 99999 999 9999999 99)
$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',
]);
dd($data);
}
- CNH - http://4devs.com.br/gerador_de_cnh
- TÍTULO ELEITORAL - http://4devs.com.br/gerador_de_titulo_de_eleitor
- CNPJ - http://www.geradorcnpj.com/
- CPF - http://geradordecpf.org
- NIS - https://www.4devs.com.br/gerador_de_pis_pasep
- CNS - https://geradornv.com.br/gerador-cns/
- CERTIDÃO - https://www.treinaweb.com.br/ferramentas-para-desenvolvedores/gerador/certidao
Fique a vontade para contribuir fazendo um fork.
Caso tenha alguma dúvida ou encontre algum bug, abra uma issue ou pesquise por issues antigas.
Nosso obrigado vai pra essas pessoas incríveis (emoji key):
Daniel Rodrigues 🚇 🚧 💻 |
André Rodrigues Gomes Costa 💻 |
Humberto Lidio Antonelli 💻 |
Evandro Kondrat 💻 |
Victor Anjos 💻 |
Yves Cabral 💻 |
setefocos 💻 |
Este projeto segue a especificação all-contributors. Contribuições de qualquer tipo são bem-vindas!