From 828f86bda81b06d8d785c67eeecd3723e742250d Mon Sep 17 00:00:00 2001 From: Lucas Henrique Date: Fri, 27 Jan 2023 21:55:59 -0300 Subject: [PATCH] =?UTF-8?q?Adiciona=20valida=C3=A7=C3=A3o=20da=20pontua?= =?UTF-8?q?=C3=A7=C3=A3o=20total=20dos=20campos=20do=20barema?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/EventoController.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/EventoController.php b/app/Http/Controllers/EventoController.php index 4df7c17..0d2493d 100755 --- a/app/Http/Controllers/EventoController.php +++ b/app/Http/Controllers/EventoController.php @@ -185,8 +185,8 @@ class EventoController extends Controller 'inputField.*.nome' => ['required', 'string'], 'inputField.*.nota_maxima' => ['required'], 'inputField.*.prioridade' => ['required'], - 'somaNotas' => ['required', 'numeric', 'max:10'], - ['somaNotas.max' => 'A soma dos campos não pode ser maior que 10.'] + 'somaNotas' => ['required', 'numeric', 'max:' . $request->pontuacao, 'min:' . $request->pontuacao], + ['somaNotas.*' => 'A soma das notas máximas deve ser igual a pontuação total definida.'] ]); } } elseif ($request->tipoAvaliacao == 'link') { @@ -449,12 +449,19 @@ class EventoController extends Controller $yesterday = Carbon::yesterday('America/Recife'); $yesterday = $yesterday->toDateString(); $camposAvaliacao = CampoAvaliacao::where('evento_id', $id)->get(); + + $pontuacao = 0; + foreach ($camposAvaliacao as $campo) { + $pontuacao += $campo->nota_maxima; + } + return view('evento.editarEvento',['evento'=>$evento, 'coordenadores'=>$coordenadors, 'naturezas'=>$naturezas, 'ontem'=>$yesterday, 'coordEvent'=>$coordEvent, - 'camposAvaliacao'=>$camposAvaliacao]); + 'camposAvaliacao'=>$camposAvaliacao, + 'pontuacao'=>$pontuacao]); } /** @@ -549,7 +556,9 @@ class EventoController extends Controller $validateCampo = $request->validate([ 'inputField.*.nome' => ['required', 'string'], 'inputField.*.nota_maxima' => ['required'], - 'inputField.*.prioridade' => ['required'] + 'inputField.*.prioridade' => ['required'], + 'somaNotas' => ['required', 'numeric', 'max:' . $request->pontuacao, 'min:' . $request->pontuacao], + ['somaNotas.*' => 'A soma das notas máximas deve ser igual a pontuação total definida.'] ]); } } elseif ($request->tipoAvaliacao == 'link') { -- GitLab