From f99f844147df01919f0be4035f7bd28da2850b45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Fernando=20Mendes=20da=20Costa?= <98fernandocosta@gmail.com> Date: Thu, 11 May 2023 09:24:13 -0300 Subject: [PATCH] checa se o mesmo integrante foi add mais de uma vez --- app/Http/Requests/StoreTrabalho.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/Http/Requests/StoreTrabalho.php b/app/Http/Requests/StoreTrabalho.php index 955db15..7a42c61 100755 --- a/app/Http/Requests/StoreTrabalho.php +++ b/app/Http/Requests/StoreTrabalho.php @@ -6,6 +6,7 @@ use App\Evento; use Illuminate\Validation\Rule; use Illuminate\Support\Facades\Auth; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Contracts\Validation\Validator; class StoreTrabalho extends FormRequest { @@ -19,6 +20,17 @@ class StoreTrabalho extends FormRequest return Auth::check(); } + protected function prepareForValidation() + { + $func = function($value) { + return ['cpf' => $value]; + }; + $this->merge([ + 'cpfs' => array_map($func, $this->cpf), + ]); + } + + /** * Get the validation rules that apply to the request. * @@ -30,6 +42,7 @@ class StoreTrabalho extends FormRequest $rules = []; if($this->has('marcado')){ + $rules['cpfs.*.cpf'] = ['distinct', 'nullable']; foreach ($this->get('marcado') as $key => $value) { if( intval($value) == $key){ //user @@ -137,6 +150,7 @@ class StoreTrabalho extends FormRequest 'anexoPlanoTrabalho.*.required' => 'O :attribute é obrigatório', 'anexoProjeto.required' => 'O :attribute é obrigatório', 'cpf.*.required' => 'O cpf é obrigatório', + 'cpfs.*.cpf.distinct' => 'O integrante com CPF :input não pode ser adicionado mais de uma vez', 'name.*.required' => 'O :attribute é obrigatório', 'email.*.required' => 'O :attribute é obrigatório', 'instituicao.*.required' => 'O :attribute é obrigatório', -- GitLab