File manager - Edit - /var/www/html/portalHomolog/app/Http/Requests/StructureRequest.php
Back
<?php namespace App\Http\Requests; use App\Models\Structure; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Str; class StructureRequest extends FormRequest { /** * Determine if the user is authorized to make this request. */ public function authorize(): bool { return true; } /** * ID da estrutura em edição (rota ou campo oculto do formulário). */ private function structureIdForUpdate(): string { $structure = $this->route('structure'); if ($structure instanceof Structure) { return $structure->id; } if (is_string($structure) && $structure !== '') { return $structure; } return (string) $this->input('id', ''); } /** * Get the validation rules that apply to the request. * * @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string> */ public function rules(): array { if ($this->routeIs('admin.secretarias.update')) { $id = $this->structureIdForUpdate(); return [ "slug" => "required|unique:structures,slug,{$id}|max:255", "name" => "required|unique:structures,name,{$id}|max:100", "abbreviation" => "required|unique:structures,abbreviation,{$id}|max:20", "address" => "required", "phoneNumber" => "required", "email1" => "required|email|max:100", "email2" => "nullable|email|max:100", "email3" => "nullable|email|max:100", "manager" => 'required|max:100', "academicBackground" => 'required', 'skills' => 'required', 'duties' => 'required', 'managerPhoto' => 'nullable|image|mimes:jpeg,jpg,png,gif|mimetypes:image/jpeg,image/png,image/gif', 'domicilio' => 'required|string', 'cep' => 'required|string|max:10', 'logradouro' => 'required|string|max:255', 'numero' => 'nullable|string|max:20', 'complemento' => 'nullable|string|max:255', 'bairro' => 'required|string|max:255', 'cidade' => 'required|string|max:255', 'uf' => 'required|string|size:2', 'latitude' => 'nullable|numeric|between:-90,90', 'longitude' => 'nullable|numeric|between:-180,180', 'page_content_type' => 'required|in:NOTICIAS,HTML,HTML_NOTICIAS', 'html_page_id' => 'nullable|exists:htmls,id', 'news_structure_id' => 'nullable|exists:structures,id', 'page_content_order' => 'nullable|in:HTML_FIRST,NEWS_FIRST', 'map' => 'nullable|string|max:65535', 'faleConoscoExtraInfo' => 'nullable|string', 'contratos_acesso_global' => 'nullable|boolean', ]; } else { return [ 'slug' => 'required|unique:structures|max:255', 'name' => 'required|unique:structures|max:100', 'abbreviation' => 'required|unique:structures|max:20', 'address' => 'required', 'phoneNumber' => 'required', "email1" => "required|email|max:100", "email2" => "nullable|email|max:100", "email3" => "nullable|email|max:100", 'manager' => 'required|max:100', 'academicBackground' => 'required', 'skills' => 'required', 'duties' => 'required', 'managerPhoto' => 'nullable|image|mimes:jpeg,jpg,png,gif|mimetypes:image/jpeg,image/png,image/gif', 'banner' => 'nullable|image|mimes:jpeg,jpg,png,gif|mimetypes:image/jpeg,image/png,image/gif', 'domicilio' => 'required|string', 'cep' => 'required|string|max:10', 'logradouro' => 'required|string|max:255', 'numero' => 'nullable|string|max:20', 'complemento' => 'nullable|string|max:255', 'bairro' => 'required|string|max:255', 'cidade' => 'required|string|max:255', 'uf' => 'required|string|size:2', 'latitude' => 'nullable|numeric|between:-90,90', 'longitude' => 'nullable|numeric|between:-180,180', 'page_content_type' => 'required|in:NOTICIAS,HTML,HTML_NOTICIAS', 'html_page_id' => 'nullable|exists:htmls,id', 'news_structure_id' => 'nullable|exists:structures,id', 'page_content_order' => 'nullable|in:HTML_FIRST,NEWS_FIRST', 'map' => 'nullable|string|max:65535', 'faleConoscoExtraInfo' => 'nullable|string', 'contratos_acesso_global' => 'nullable|boolean', ]; } } public function messages(): array { return [ "name.required" => __("* Por favor, informe o nome do órgão!"), "name.unique" => __("* O nome informado para o órgão já existe em nossos registros!"), 'name.max' => __("* O nome informado para o órgão possui mais de 100 caracteres!"), "abbreviation.required" => __("* Por favor, informe a sigla do órgão!"), "abbreviation.unique" => __("* A sigla informada para o órgão já existe em nossos registros!"), 'abbreviation.max' => __("* A sigla informada para o órgão possui mais de 20 caracteres!"), 'slug.required' => __("* Sem o nome do órgão, não é possível gerar uma URL amigável!"), 'slug.unique' => __("* O nome informado não permite gerar uma URL amigável para o órgão!"), 'address.required' => __("* Por favor, informe o endereço do órgão!"), 'phoneNumber.required' => __("* Por favor, informe o telefone do órgão!"), "email1.required" => __("* Por favor, informe o seu e-mail do órgão!"), "email1.email" => __("* O email informado para o órgão é inválido!"), "email1.max" => __("* O email informado para o órgão possui mais de 100 caracteres!"), "email2.email" => __("* O email informado para o órgão é inválido!"), "email2.max" => __("* O email informado para o órgão possui mais de 100 caracteres!"), "email3.email" => __("* O email informado para o órgão é inválido!"), "email3.max" => __("* O email informado para o órgão possui mais de 100 caracteres!"), 'academicBackground.required' => __("* Por favor, informe a formação acadêmica do gestor!"), 'skills.required' => __("* Por favor, informe as competências do gestor!"), 'duties.required' => __("* Por favor, informe as atribuições do gestor!"), 'managerPhoto.image' => __("* Por favor, selecione uma foto na sua galeria para o gestor!"), 'managerPhoto.mimes' => __("* Os formatos de imagens permitido são: jpeg,jpg,png,gif!"), 'managerPhoto.mimetypes' => __("* Os formatos de imagens permitido são: jpeg,jpg,png,gif!"), 'banner.image' => __("* Por favor, selecione uma imagem válida para o banner!"), 'banner.mimes' => __("* Os formatos de imagens permitidos para o banner são: jpeg,jpg,png,gif!"), 'banner.mimetypes' => __("* Os formatos de imagens permitidos para o banner são: jpeg,jpg,png,gif!"), 'domicilio.required' => __("* O tipo de domicílio é obrigatório."), 'cep.required' => __("* O CEP é obrigatório."), 'logradouro.required' => __("* O logradouro é obrigatório."), 'bairro.required' => __("* O bairro é obrigatório."), 'cidade.required' => __("* A cidade é obrigatória."), 'uf.required' => __("* O estado (UF) é obrigatório."), ]; } protected function prepareForValidation(): void { $this->merge([ 'slug' => Str::slug($this->name), ]); if (!(auth()->user()?->getPermissaoDetalhes('SYSADMIN')['visualizar'] ?? false)) { $this->request->remove('contratos_acesso_global'); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings