MEU FORK DO PROJETO ORIGINAL geekcom/validator-docs.
Validação de documentos do Brasil usando Laravel
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, Inscrição Estadual, 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.5"
},
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',
]);
- inscricao_estadual - Verifica se uma Inscrição Estadual é valida para uma unidade federarativa (UF).
$this->validate($request, [
'inscricao_estadual' => 'required|inscricao_estadual:BA',
]);
- 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',
]);
- renavam - Verifica se o RENAVAM é válido
$this->validate($request, [
'renavam' => 'required|renavam',
]);
- placa - Verifica se a PLACA é válida
$this->validate($request, [
'placa' => 'required|placa',
]);
- ddd - Verifica se a DDD é válida
$this->validate($request, [
'ddd' => 'required|ddd',
]);
- 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',
'renavam' => 'required|renavam',
'placa' => 'required|placa',
'ddd' => 'required|ddd',
]);
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
- 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
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.
Contribuições de qualquer tipo são bem-vindas!