4
4
5
5
use Illuminate \Validation \Validator as BaseValidator ;
6
6
7
+ use function preg_match ;
8
+ use function preg_replace ;
9
+ use function strlen ;
10
+ use function str_repeat ;
11
+ use function sprintf ;
12
+ use function substr ;
13
+
7
14
/**
8
15
*
9
16
* @author Daniel Rodrigues Lima
10
17
11
18
*/
12
19
class Validator extends BaseValidator
13
20
{
14
- /**
15
- * Valida o formato do cpf
16
- * @param string $attribute
17
- * @param string $value
18
- * @return boolean
19
- */
20
21
protected function validateFormatoCpf ($ attribute , $ value )
21
22
{
22
23
return preg_match ('/^\d{3}\.\d{3}\.\d{3}-\d{2}$/ ' , $ value ) > 0 ;
23
24
}
24
25
25
- /**
26
- * Valida o formato do cnpj
27
- * @param string $attribute
28
- * @param string $value
29
- * @return boolean
30
- */
31
26
protected function validateFormatoCnpj ($ attribute , $ value )
32
27
{
33
28
return preg_match ('/^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/ ' , $ value ) > 0 ;
34
29
}
35
30
36
- /**
37
- * Valida o formato do cpf ou cnpj
38
- * @param string $attribute
39
- * @param string $value
40
- * @return boolean
41
- */
42
31
protected function validateFormatoCpfCnpj ($ attribute , $ value )
43
32
{
44
33
return $ this ->validateFormatoCpf ($ attribute , $ value ) || $ this ->validateFormatoCnpj ($ attribute , $ value );
45
34
}
46
35
47
- /**
48
- * Valida o formato do PIS/PASEP/NIS/NIT
49
- * @param string $attribute
50
- * @param string $value
51
- * @return boolean
52
- */
53
36
protected function validateFormatoNis ($ attribute , $ value )
54
37
{
55
38
return preg_match ('/^\d{3}\.\d{5}\.\d{2}-\d{1}$/ ' , $ value ) > 0 ;
56
39
}
57
40
58
- /**
59
- * Valida CPF
60
- * @param string $attribute
61
- * @param string $value
62
- * @return boolean
63
- */
64
-
65
41
protected function validateCpf ($ attribute , $ value )
66
42
{
67
43
$ c = preg_replace ('/\D/ ' , '' , $ value );
@@ -85,12 +61,6 @@ protected function validateCpf($attribute, $value)
85
61
return true ;
86
62
}
87
63
88
- /**
89
- * Valida CNPJ
90
- * @param string $attribute
91
- * @param string $value
92
- * @return boolean
93
- */
94
64
protected function validateCnpj ($ attribute , $ value )
95
65
{
96
66
$ c = preg_replace ('/\D/ ' , '' , $ value );
@@ -116,28 +86,16 @@ protected function validateCnpj($attribute, $value)
116
86
return true ;
117
87
}
118
88
119
- /**
120
- * Valida CNPJ ou CPF
121
- * @param string $attribute
122
- * @param string $value
123
- * @return boolean
124
- */
125
89
protected function validateCpfCnpj ($ attribute , $ value )
126
90
{
127
91
return ($ this ->validateCpf ($ attribute , $ value ) || $ this ->validateCnpj ($ attribute , $ value ));
128
92
}
129
93
130
94
/**
131
- * Valida CNH
132
- * @param string $attribute
133
- * @param string $value
134
- * @return boolean
95
+ * Trecho retirado do respect validation
135
96
*/
136
-
137
97
protected function validateCnh ($ attribute , $ value )
138
98
{
139
- // Trecho retirado do respect validation
140
-
141
99
$ ret = false ;
142
100
143
101
if ((strlen ($ input = preg_replace ('/[^\d]/ ' , '' , $ value )) == 11 )
@@ -146,22 +104,16 @@ protected function validateCnh($attribute, $value)
146
104
$ dsc = 0 ;
147
105
148
106
for ($ i = 0 , $ j = 9 , $ v = 0 ; $ i < 9 ; ++$ i , --$ j ) {
149
-
150
- $ v += (int )$ input [$ i ] * $ j ;
151
-
107
+ $ v += (int ) $ input [$ i ] * $ j ;
152
108
}
153
109
154
110
if (($ vl1 = $ v % 11 ) >= 10 ) {
155
-
156
111
$ vl1 = 0 ;
157
112
$ dsc = 2 ;
158
-
159
113
}
160
114
161
115
for ($ i = 0 , $ j = 1 , $ v = 0 ; $ i < 9 ; ++$ i , ++$ j ) {
162
-
163
- $ v += (int )$ input [$ i ] * $ j ;
164
-
116
+ $ v += (int ) $ input [$ i ] * $ j ;
165
117
}
166
118
167
119
$ vl2 = ($ x = ($ v % 11 )) >= 10 ? 0 : $ x - $ dsc ;
@@ -172,16 +124,8 @@ protected function validateCnh($attribute, $value)
172
124
return $ ret ;
173
125
}
174
126
175
- /**
176
- * Valida Titulo de Eleitor
177
- * @param string $attribute
178
- * @param string $value
179
- * @return boolean
180
- */
181
-
182
127
protected function validateTituloEleitor ($ attribute , $ value )
183
128
{
184
-
185
129
$ input = preg_replace ('/[^\d]/ ' , '' , $ value );
186
130
187
131
$ uf = substr ($ input , -4 , 2 );
@@ -226,21 +170,13 @@ protected function validateTituloEleitor($attribute, $value)
226
170
switch ($ i ) {
227
171
case '0 ' :
228
172
$ sequencia = $ uf . $ digito ;
229
-
230
173
break ;
231
174
}
232
175
}
233
176
234
177
return true ;
235
178
}
236
179
237
- /**
238
- * Valida PIS/PASEP/NIS/NIT
239
- * @param string $attribute
240
- * @param string $value
241
- * @return boolean
242
- */
243
-
244
180
protected function validateNis ($ attribute , $ value )
245
181
{
246
182
$ nis = sprintf ('%011s ' , preg_replace ('{\D} ' , '' , $ value ));
@@ -255,5 +191,4 @@ protected function validateNis($attribute, $value)
255
191
256
192
return ($ nis [10 ] == (((10 * $ d ) % 11 ) % 10 ));
257
193
}
258
-
259
194
}
0 commit comments