Validação de documentos do Brasil usando Laravel 5.*
Biblioteca Laravel para validação de CPF, CNPJ, CPF/CNPJ (quando salvos no mesmo atributo), CNH, PIS/PASEP/NIT/NIS e Título de Eleitor.
No arquivo composer.json, adicione validator-docs como dependência do seu projeto:
"require": { "geekcom/validator-docs" : "1.*" }, Depois execute:
composer install Ou simplesmente execute o comando:
composer require geekcom/validator-docs Após a instalação, adicione ao arquivo config/app.php ao array providers a seguinte linha:
geekcom\ValidatorDocs\ValidatorProvider::classAgora, 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', ]);- 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', ]);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 deva 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', ]); 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
Fique a vontade para contribuir fazendo um fork.
Caso tenha alguma dúvida ou encontre algm bug, abra uma issue ou pesquise por issues antigas.
