Skip to content

Commit e8d6127

Browse files
committed
update docs, minor corrections
1 parent 023f3d1 commit e8d6127

File tree

3 files changed

+146
-41
lines changed

3 files changed

+146
-41
lines changed

README.md

Lines changed: 131 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,170 @@
1-
# Validator Docs - Brasil
1+
# LaraValidator Docs - Brasil
22
_Validação de documentos do Brasil usando Laravel 5.*_
33

44
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/geekcom/validator-docs/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/geekcom/validator-docs/?branch=master)
55
[![Total Downloads](https://poser.pugx.org/geekcom/validator-docs/downloads)](https://packagist.org/packages/geekcom/validator-docs)
66
[![License](https://poser.pugx.org/geekcom/validator-docs/license)](https://packagist.org/packages/geekcom/validator-docs)
77

8-
Biblioteca Laravel para validação de CPF, CNPJ, CPF/CNPJ (quando salvos no mesmo atributo), CNH e Título de Eleitor.
8+
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.
99

10-
# Instalação
10+
## Instalação
1111

12-
No arquivo `composer.json`, adicione:
12+
No arquivo `composer.json`, adicione validator-docs como dependência do seu projeto:
1313

1414
```
1515
"require": {
1616
"geekcom/validator-docs" : "1.*"
1717
},
1818
```
1919

20-
Ou rode o comando:
20+
Depois execute:
21+
22+
```
23+
composer install
24+
```
25+
26+
Ou simplesmente execute o comando:
2127

2228
```
2329
composer require geekcom/validator-docs
2430
```
2531

26-
Após a instalação, adicione no arquivo `config/app.php` no array `providers` a seguinte linha:
32+
Após a instalação, adicione ao arquivo `config/app.php` ao array `providers` a seguinte linha:
2733

2834
```php
2935
geekcom\ValidatorDocs\ValidatorProvider::class
3036
```
3137

32-
Para utilizar a validação agora, basta fazer o procedimento padrão do `Laravel`, confira na documentação especifica para a sua versão,
33-
a diferença é que agora, você terá os seguintes métodos de validação:
38+
----------------------------------------------------------------------------------------------------------------------------
39+
40+
## Como usar - Validações disponíveis
41+
42+
Agora, você terá os métodos de validação validator docs Brasil disponíveis.
43+
44+
* **cpf** - Verifica se um CPF é valido.
45+
46+
```php
47+
$this->validate($request, [
48+
'cpf' => 'required|cpf',
49+
]);
50+
```
51+
52+
* **cnpj** - Verifica se um CNPJ é valido.
53+
54+
```php
55+
$this->validate($request, [
56+
'cnpj' => 'required|cnpj',
57+
]);
58+
```
59+
60+
* **cnh** - Verifica se uma CNH (Carteira Nacional de Habilitação) é válida.
61+
62+
```php
63+
$this->validate($request, [
64+
'cnh' => 'required|cnh',
65+
]);
66+
```
67+
68+
* **titulo_eleitor** - Verifica se um Título de Eleitor é válido.
69+
70+
```php
71+
$this->validate($request, [
72+
'titulo_eleitor' => 'required|titulo_eleitor',
73+
]);
74+
```
75+
76+
* **cpf_cnpj** - Verifica se um CPF ou CNPJ é válido.
77+
78+
```php
79+
$this->validate($request, [
80+
'cpf_cnpj' => 'required|cpf_cnpj',
81+
]);
82+
```
83+
84+
* **nis** - Verifica se um PIS/PASEP/NIT/NIS é válido.
85+
86+
```php
87+
$this->validate($request, [
88+
'nis' => 'required|nis',
89+
]);
90+
```
91+
92+
* **formato_cnpj** - Verifica se o formato de um CNPJ é válida. ( 99.999.999/9999-99 )
93+
94+
```php
95+
$this->validate($request, [
96+
'formato_cnpj' => 'required|formato_cnpj',
97+
]);
98+
```
99+
100+
* **formato_cpf** - Verifica se o formato de um CPF é válido. ( 999.999.999-99 )
101+
102+
```php
103+
$this->validate($request, [
104+
'formato_cpf' => 'required|formato_cpf',
105+
]);
106+
```
34107

35-
* **cnh** - Verifica se uma CNH é valida. Para testar, basta utilizar o site http://4devs.com.br/gerador_de_cnh
36-
* **titulo_eleitor** - Verifica se um Título de Eleitor é valido. Para testar, basta utilizar o site http://4devs.com.br/gerador_de_titulo_de_eleitor
37-
* **cnpj** - Verifica se o CNPJ é valido. Para testar, basta utilizar o site http://www.geradorcnpj.com/
38-
* **cpf** - Verifica se o CPF é valido. Para testar, basta utilizar o site http://geradordecpf.org
39-
* **cpf_cnpj** - Verifica se é um CPF ou CNPJ valido. Para testar, basta utilizar um dos sites acima
40-
* **nis** - Verifica se o PIS/PASEP/NIT/NIS é valido. Para testar, basta utilizar o site https://www.4devs.com.br/gerador_de_pis_pasep
41-
* **formato_cnpj** - Verifica se a mascara do CNPJ é válida. ( 99.999.999/9999-99 )
42-
* **formato_cpf** - Verifica se a mascara do CPF é válida. ( 999.999.999-99 )
43-
* **formato_cpf_cnpj** - Verifica se a mascara do CPF ou CNPJ é válida. ( 999.999.999-99 ) ou ( 99.999.999/9999-99 )
44-
* **formato_nis** - Verifica se a mascara do PIS/PASEP/NIT/NIS é válida. ( 999.99999-99.9 )
108+
* **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 )
45109

110+
```php
111+
$this->validate($request, [
112+
'formato_cpf_cnpj' => 'required|formato_cpf_cnpj',
113+
]);
114+
```
46115

47-
Então, podemos realizar um simples teste onde dizemos que o campo CPF será obrigatório e usamos a biblioteca para validar:
116+
* **formato_nis** - Verifica se o formato de um PIS/PASEP/NIT/NIS é válido. ( 999.99999-99.9 )
48117

49118
```php
50119
$this->validate($request, [
51-
'cpf' => 'required|cpf',
52-
]);
120+
'formato_nis' => 'required|formato_nis',
121+
]);
53122
```
123+
----------------------------------------------------------------------------------------------------------------------------
54124

55-
No exemplo abaixo, fazemos um teste onde validamos 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:
125+
##Combinando validação e formato
126+
127+
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:
56128

57129
```php
58130
$this->validate($request, [
59-
'cpf_or_cnpj' => 'formato_cpf_cnpj|cpf_cnpj',
60-
]);
131+
'cpf_or_cnpj' => 'formato_cpf_cnpj|cpf_cnpj',
132+
]);
61133
```
62134

135+
----------------------------------------------------------------------------------------------------------------------------
136+
137+
##Exemplo de uso em um controller
138+
139+
Método de validação de exemplo em um controller com todas as possibilidades de validação
140+
141+
```php
142+
public function store(Request $request)
143+
{
144+
$data = $request->all();
145+
146+
$this->validate($request, [
147+
'cpf' => 'required|cpf',
148+
'cnpj' => 'required|cnpj',
149+
'cnh' => 'required|cnh',
150+
'titulo_eleitor' => 'required|titulo_eleitor',
151+
'nis' => 'required|nis',
152+
]);
153+
154+
dd($data);
155+
}
156+
```
157+
158+
----------------------------------------------------------------------------------------------------------------------------
159+
160+
##Geradores de documentos para testes
161+
162+
* **CNH** - http://4devs.com.br/gerador_de_cnh
163+
* **TÍTULO ELEITORAL** - http://4devs.com.br/gerador_de_titulo_de_eleitor
164+
* **CNPJ** - http://www.geradorcnpj.com/
165+
* **CPF** - http://geradordecpf.org
166+
* **NIS** - https://www.4devs.com.br/gerador_de_pis_pasep
167+
63168
Fique a vontade para contribuir fazendo um fork.
169+
170+
Caso tenha alguma dúvida ou encontre algm bug, abra uma [issue](https://github.com/geekcom/validator-docs/issues) ou pesquise por issues antigas.

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "geekcom/validator-docs",
3-
"description": "Biblioteca para validação de Título de Eleitor, CPF, CNPJ e CNH",
3+
"description": "Biblioteca para validação de Título de Eleitor, CPF, CNPJ, NIS e CNH",
44
"license": "MIT",
55
"authors": [
66
{

src/validator-docs/Validator.php

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ protected function validateFormatoCpfCnpj($attribute, $value)
4343
{
4444
return $this->validateFormatoCpf($attribute, $value) || $this->validateFormatoCnpj($attribute, $value);
4545
}
46-
46+
4747
/**
4848
* Valida o formato do PIS/PASEP/NIS/NIT
4949
* @param string $attribute
@@ -70,20 +70,19 @@ protected function validateCpf($attribute, $value)
7070
return false;
7171
}
7272

73-
for ($s = 10, $n = 0, $i = 0; $s >= 2; $n += $c[$i++] * $s--) ;
73+
for ($s = 10, $n = 0, $i = 0; $s >= 2; $n += $c[$i++] * $s--);
7474

7575
if ($c[9] != ((($n %= 11) < 2) ? 0 : 11 - $n)) {
7676
return false;
7777
}
7878

79-
for ($s = 11, $n = 0, $i = 0; $s >= 2; $n += $c[$i++] * $s--) ;
79+
for ($s = 11, $n = 0, $i = 0; $s >= 2; $n += $c[$i++] * $s--);
8080

8181
if ($c[10] != ((($n %= 11) < 2) ? 0 : 11 - $n)) {
8282
return false;
8383
}
8484

8585
return true;
86-
8786
}
8887

8988
/**
@@ -102,20 +101,19 @@ protected function validateCnpj($attribute, $value)
102101

103102
$b = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
104103

105-
for ($i = 0, $n = 0; $i < 12; $n += $c[$i] * $b[++$i]) ;
104+
for ($i = 0, $n = 0; $i < 12; $n += $c[$i] * $b[++$i]);
106105

107106
if ($c[12] != ((($n %= 11) < 2) ? 0 : 11 - $n)) {
108107
return false;
109108
}
110109

111-
for ($i = 0, $n = 0; $i <= 12; $n += $c[$i] * $b[$i++]) ;
110+
for ($i = 0, $n = 0; $i <= 12; $n += $c[$i] * $b[$i++]);
112111

113112
if ($c[13] != ((($n %= 11) < 2) ? 0 : 11 - $n)) {
114113
return false;
115114
}
116115

117116
return true;
118-
119117
}
120118

121119
/**
@@ -172,7 +170,7 @@ protected function validateCnh($attribute, $value)
172170
}
173171

174172
return $ret;
175-
}
173+
}
176174

177175
/**
178176
* Valida Titulo de Eleitor
@@ -188,9 +186,9 @@ protected function validateTituloEleitor($attribute, $value)
188186

189187
$uf = substr($input, -4, 2);
190188

191-
if (((strlen($input) < 5) || (strlen($input) > 13)) ||
192-
(str_repeat($input[1], strlen($input)) == $input) ||
193-
($uf < 1 || $uf > 28)) {
189+
if (((strlen($input) < 5) || (strlen($input) > 13)) ||
190+
(str_repeat($input[1], strlen($input)) == $input) ||
191+
($uf < 1 || $uf > 28)) {
194192
return false;
195193
}
196194

@@ -199,11 +197,11 @@ protected function validateTituloEleitor($attribute, $value)
199197

200198
$sequencia = substr($input, 0, -4);
201199

202-
for ($i = 0; $i < 2; $i++) {
200+
for ($i = 0; $i < 2; $i++) {
203201
$fator = 9;
204202
$soma = 0;
205203

206-
for ($j = (strlen($sequencia) - 1); $j > -1; $j--) {
204+
for ($j = (strlen($sequencia) - 1); $j > -1; $j--) {
207205
$soma += $sequencia[$j] * $fator;
208206

209207
if ($fator == $base) {
@@ -220,7 +218,7 @@ protected function validateTituloEleitor($attribute, $value)
220218
} elseif ($digito == 10) {
221219
$digito = 0;
222220
}
223-
221+
224222
if ($dv[$i] != $digito) {
225223
return false;
226224
}
@@ -232,10 +230,10 @@ protected function validateTituloEleitor($attribute, $value)
232230
break;
233231
}
234232
}
235-
233+
236234
return true;
237235
}
238-
236+
239237
/**
240238
* Valida PIS/PASEP/NIS/NIT
241239
* @param string $attribute

0 commit comments

Comments
 (0)