1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
namespace App\Http\Requests;
use App\Arquivo;
use App\Evento;
use App\Participante;
use App\Trabalho;
use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\Auth;
use Illuminate\Foundation\Http\FormRequest;
class UpdateTrabalho extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
$projeto = Trabalho::find($this->id);
$evento = Evento::find($this->editalId);
if($this->has('marcado')){
foreach ($this->get('marcado') as $key => $value) {
if( intval($value) == $key){
//user
$rules['name.'.$value] = ['required', 'string'];
$rules['email.'.$value] = ['required', 'string'];
$rules['instituicao.'.$value] = ['required', 'string'];
$rules['cpf.'.$value] = ['required', 'string'];
$rules['celular.'.$value] = ['required', 'string'];
//endereco
$rules['rua.'.$value] = ['required', 'string'];
$rules['numero.'.$value] = ['required', 'string'];
$rules['bairro.'.$value] = ['required', 'string'];
$rules['cidade.'.$value] = ['required', 'string'];
$rules['uf.'.$value] = ['required', 'string'];
$rules['cep.'.$value] = ['required', 'string'];
//participante
$rules['rg.'.$value] = ['required', 'string'];
$rules['data_de_nascimento.'.$value] = ['required', 'string'];
$rules['curso.'.$value] = ['required', 'string'];
$rules['turno.'.$value] = ['required', 'string'];
$rules['ordem_prioridade.'.$value] = ['required', 'string'];
$rules['periodo_atual.'.$value] = ['required', 'string'];
$rules['total_periodos.'.$value] = ['required', 'string'];
if($evento->tipo != "PIBEX") {
$rules['media_do_curso.' . $value] = ['required', 'string'];
}
$rules['nomePlanoTrabalho.'.$value] = ['required', 'string'];
$rules['anexoPlanoTrabalho.'.$value] = ['required', 'mimes:pdf'];
}
}
}
// dd($this->all());
if ($this->has('rascunho')) {
$rules = [];
return $rules;
}else{
//$rules = [];
if($evento->tipo!="PIBEX"){
$rules['anexoPlanilhaPontuacao'] = [Rule::requiredIf($projeto->anexoPlanilhaPontuacao == null)];
$rules['anexoLattesCoordenador'] = [Rule::requiredIf($projeto->anexoLattesCoordenador == null), 'mimes:pdf'];
$rules['anexoGrupoPesquisa'] = [Rule::requiredIf($projeto->anexoGrupoPesquisa == null), 'mimes:pdf'];
// anexoAutorizacaoComiteEtica = SIM
$rules['anexoAutorizacaoComiteEtica'] = [Rule::requiredIf($this->autorizacaoFlag == 'sim' && $projeto->anexoAutorizacaoComiteEtica == null)];
// justificativaAutorizacaoEtica = NAO
$rules['justificativaAutorizacaoEtica'] = [Rule::requiredIf($this->autorizacaoFlag == 'nao' && $projeto->justificativaAutorizacaoEtica == null)];
$rules['pontuacaoPlanilha'] = ['required', 'string'];
$rules['linkGrupoPesquisa'] = ['required', 'string'];
}
if($evento->nome_docExtra != null){
$rules['anexo_docExtra'] = [Rule::requiredIf($evento->obrigatoriedade_docExtra == true && $evento->obrigatoriedade_docExtra == null),'file', 'mimes:zip,doc,docx,pdf', 'max:2048'];
}
$rules['editalId'] = ['required', 'string'];
$rules['marcado.*'] = ['required'];
$rules['titulo'] = ['required', 'string'];
$rules['grande_area_id'] = ['required', 'string'];
$rules['area_id'] = ['required', 'string'];
$rules['linkLattesEstudante'] = ['required', 'string'];
$rules['anexoProjeto'] = [Rule::requiredIf($projeto->anexoProjeto == null), 'mimes:pdf'];
$rules['anexoDecisaoCONSU'] = [Rule::requiredIf($evento->consu && $projeto->anexoDecisaoCONSU == null), 'mimes:pdf'];
return $rules;
}
}
public function messages()
{
return [
'titulo.required' => 'O :attribute é obrigatório',
'justificativaAutorizacaoEtica.required' => 'O campo justificativa Autorizacao Etica é obrigatório',
'anexoAutorizacaoComiteEtica.required' => 'O campo anexoAutorizacao Comite Etica é obrigatório',
];
}
}