Stars: 524
Forks: 94
Pull Requests: 101
Issues: 37
Watchers: 27
Last Updated: 2023-05-25 17:23:13
Validação de CPF, CNPJ, CNH, NIS, DDD, Título Eleitoral e Cartão Nacional de Saúde com Laravel.
License: MIT License
Languages: PHP
Biblioteca PHP para validação de documentos do Brasil usando Laravel
fazer uma doação, apoie nossas atividades
Por favor, considere
Para a versão legada compatível com Laravel 5 consulte o branch https://github.com/geekcom/validator-docs/tree/5.x.x
No arquivo composer.json
, adicione validator-docs como dependência do seu projeto:
"require": {
"geekcom/validator-docs" : "^3.9"
},
Depois execute:
composer install
Ou simplesmente execute o comando:
composer require geekcom/validator-docs
Para executar os testes, basta fazer o seguinte:
composer install
composer test
Agora que os métodos de validação validator-docs Brasil estão disponíveis, será possível usar da seguinte forma:
$this->validate($request, [
'cpf' => 'required|cpf',
]);
$this->validate($request, [
'cnpj' => 'required|cnpj',
]);
$this->validate($request, [
'cnh' => 'required|cnh',
]);
$this->validate($request, [
'titulo_eleitor' => 'required|titulo_eleitor',
]);
$this->validate($request, [
'cpf_cnpj' => 'required|cpf_cnpj',
]);
$this->validate($request, [
'inscricao_estadual' => 'required|inscricao_estadual:UF',
]);
$this->validate($request, [
'nis' => 'required|nis',
]);
$this->validate($request, [
'cns' => 'required|cns',
]);
$this->validate($request, [
'certidao' => 'required|certidao',
]);
$this->validate($request, [
'renavam' => 'required|renavam',
]);
$this->validate($request, [
'placa' => 'required|placa',
]);
$this->validate($request, [
'ddd' => 'required|ddd',
]);
(99.999.999/9999-99)
de um CNPJ é válido;$this->validate($request, [
'formato_cnpj' => 'required|formato_cnpj',
]);
999.999.999-99
) de um CPF é válido;$this->validate($request, [
'formato_cpf' => 'required|formato_cpf',
]);
$this->validate($request, [
'formato_cpf_cnpj' => 'required|formato_cpf_cnpj',
]);
999.99999-99.9
) de um PIS/PASEP/NIT/NIS é válido;$this->validate($request, [
'formato_nis' => 'required|formato_nis',
]);
99999.99.99.9999.9.99999.999.9999999-99
ou 99999 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',
]);
dd($data);
}
Observe que para validar uma inscrição estadual é necessário informar a UF
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!