Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Walter Felipe
submeta
Commits
fc5d2144
Commit
fc5d2144
authored
Oct 19, 2021
by
Guilherme Silva
Browse files
Validação do cpf na substituição
parent
34ccb008
Changes
5
Show whitespace changes
Inline
Side-by-side
app/Http/Controllers/TrabalhoController.php
View file @
fc5d2144
...
...
@@ -3,6 +3,7 @@
namespace
App\Http\Controllers
;
use
PDF
;
use
App
;
use
Auth
;
use
App\Area
;
use
App\User
;
...
...
@@ -1452,6 +1453,7 @@ class TrabalhoController extends Controller
$substituicao
=
new
Substituicao
();
$substituicao
->
observacao
=
$request
->
textObservacao
;
\
App\Validator\CpfValidator
::
validate
(
$request
->
all
());
$user
=
User
::
where
(
'email'
,
$data
[
'email'
])
->
first
();
if
(
!
$user
){
$data
[
'usuarioTemp'
]
=
true
;
...
...
@@ -1529,6 +1531,9 @@ class TrabalhoController extends Controller
Mail
::
to
(
$evento
->
coordenadorComissao
->
user
->
email
)
->
send
(
new
SolicitacaoSubstituicao
(
$evento
,
$trabalho
));
return
redirect
(
route
(
'trabalho.trocaParticipante'
,
[
'evento_id'
=>
$evento
->
id
,
'projeto_id'
=>
$trabalho
->
id
]))
->
with
([
'sucesso'
=>
'Pedido de substituição enviado com sucesso!'
]);
}
catch
(
\
App\Validator\ValidationException
$th
){
DB
::
rollback
();
return
redirect
(
route
(
'trabalho.trocaParticipante'
,
[
'evento_id'
=>
$evento
->
id
,
'projeto_id'
=>
$trabalho
->
id
]))
->
with
([
'erro'
=>
"Cpf inválido"
]);
}
catch
(
\
Throwable
$th
)
{
DB
::
rollback
();
return
redirect
(
route
(
'trabalho.trocaParticipante'
,
[
'evento_id'
=>
$evento
->
id
,
'projeto_id'
=>
$trabalho
->
id
]))
->
with
([
'erro'
=>
$th
->
getMessage
()]);
...
...
app/User.php
View file @
fc5d2144
...
...
@@ -13,6 +13,8 @@ class User extends Authenticatable implements MustVerifyEmail
{
use
Notifiable
;
public
static
$rules
=
[
'cpf'
=>
'required'
];
public
static
$messages
=
[
'cpf'
=>
'erro cpf'
];
/**
* The attributes that are mass assignable.
*
...
...
app/Validator/CpfValidator.php
0 → 100644
View file @
fc5d2144
<?php
namespace
App\Validator
;
class
CpfValidator
{
public
static
function
validate
(
$data
)
{
$validator
=
\
Validator
::
make
(
$data
,
[
'cpf'
=>
'required'
],
[
'cpf'
=>
'erro cpf'
]);
$cpf
=
preg_replace
(
'/[^0-9]/'
,
''
,
(
string
)
$data
[
'cpf'
]);
if
(
strlen
(
$cpf
)
!=
11
)
{
$validator
->
errors
()
->
add
(
'cpf'
,
'Necessário 11 números em um CPF'
);
throw
new
ValidationException
(
$validator
,
"Erro"
);
}
else
{
for
(
$i
=
0
,
$j
=
10
,
$soma
=
0
;
$i
<
9
;
$i
++
,
$j
--
)
{
$soma
+=
$cpf
[
$i
]
*
$j
;
}
$resto
=
$soma
%
11
;
if
(
$cpf
[
9
]
!=
(
$resto
<
2
?
0
:
11
-
$resto
))
{
$validator
->
errors
()
->
add
(
'cpf'
,
'CPF Inválido'
);
}
for
(
$i
=
0
,
$j
=
11
,
$soma
=
0
;
$i
<
10
;
$i
++
,
$j
--
)
{
if
(
str_repeat
(
$i
,
11
)
==
$cpf
)
{
$validator
->
errors
()
->
add
(
'cpf'
,
'CPF Inválido'
);
}
$soma
+=
$cpf
[
$i
]
*
$j
;
}
$resto
=
$soma
%
11
;
if
(
$cpf
[
10
]
!=
(
$resto
<
2
?
0
:
11
-
$resto
))
{
$validator
->
errors
()
->
add
(
'cpf'
,
'CPF Inválido'
);
}
if
(
!
$validator
->
errors
()
->
isEmpty
())
throw
new
ValidationException
(
$validator
,
"Erro"
);
return
true
;
}
}
}
app/Validator/ValidationException.php
0 → 100644
View file @
fc5d2144
<?php
namespace
App\Validator
;
class
ValidationException
extends
\
Exception
{
protected
$validator
;
public
function
__construct
(
$validator
,
$text
=
"Erro na validação"
)
{
parent
::
__construct
(
$text
);
$this
->
validator
=
$validator
;
}
public
function
getValidator
(){
return
$this
->
validator
;
}
//
}
resources/views/administrador/substituirParticipanteForm.blade.php
View file @
fc5d2144
...
...
@@ -245,12 +245,14 @@
@endcomponent
</div>
<div
class=
"col-6"
>
<div
class=
"col-6
{{ $errors->has('cpf') ? ' has-error' : '' }}
"
>
@component('componentes.input', ['label' => 'CPF'])
<input
type=
"text"
class=
"form-control cpf"
value=
""
name=
"cpf"
placeholder=
"CPF"
id=
"cpf{{$participante->id}}"
required
/>
<input
type=
"text"
class=
"form-control cpf @error('cpf') is-invalid @enderror"
value=
""
onchange=
"checarCPFdoCampo(this)"
name=
"cpf"
placeholder=
"CPF"
id=
"cpf{{$participante->id}}"
required
autofocus
autocomplete=
"cpf"
/>
@error('cpf')
<span
class=
"
invalid-feedback"
role=
"alert"
style=
"overflow: visible; display:
block"
>
<span
class=
"
help-
block"
>
<strong>
{{ $message }}
</strong>
</span>
@enderror
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment