id); $evento = Evento::find($this->editalId); if($this->has('marcado')){ foreach ($this->get('marcado') as $key => $value) { if( intval($value) == $key){ $participante = null; if($this->participante_id[$value] != null){ $participante = Participante::find($this->participante_id[$value]); } //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']; if($evento->tipo != "PIBEX" && $evento->tipo != "CONTINUO" && $evento->tipo != "PIACEX") { $rules['media_do_curso.' . $value] = ['required', 'string']; } if($evento->tipo != "CONTINUO"){ if($evento->tipo != "PIBEX" && $evento->tipo != "PIACEX"){ $rules['turno.'.$value] = ['required', 'string']; $rules['ordem_prioridade.'.$value] = ['required', 'string']; $rules['periodo_atual.'.$value] = ['required', 'string']; $rules['total_periodos.'.$value] = ['required', 'string']; } $rules['anexoPlanoTrabalho.'.$value] = [Rule::requiredIf($participante->planoTrabalho == null)]; $rules['nomePlanoTrabalho.'.$value] = ['required', 'string']; } } } } else { $arquivo = Arquivo::where("trabalhoId", $projeto->id)->first(); $rules['anexoPlanoTrabalho'] = [Rule::requiredIf($arquivo == null)]; $rules['nomePlanoTrabalho'] = [Rule::requiredIf($arquivo->titulo == null), 'string']; } // dd($this->all()); if ($this->has('rascunho')) { $rules = []; return $rules; }else{ //$rules = []; if($evento->tipo!="PIBEX" && $evento->tipo!="CONTINUO" && $evento->tipo != "PIACEX"){ $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'] = [Rule::requiredIf($evento->natureza_id != 3), 'string']; $rules['area_id'] = [Rule::requiredIf($evento->natureza_id != 3), 'string']; if($evento->natureza_id == 3){ $rules['area_tematica_id'] = ['required', 'string']; $rules['ods'] = ['required']; } $rules['linkLattesEstudante'] = ['required', 'string']; if($evento->tipo!="CONTINUO"){ $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', ]; } }