File manager - Edit - /var/www/html/spdc/api/app/Http/Requests/ShelterRequest.php
Back
<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Http\Exceptions\HttpResponseException; use Illuminate\Contracts\Validation\Validator; use Illuminate\Validation\Rule; class ShelterRequest 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<string, mixed> */ const IN_COMMON_AREA_TYPE = ['AREA COMUM','SALA','ESPAÇO ABERTO','ESPAÇO COBERTO','DISPENSA','REFEITÓRIO']; const IN_SERVICE_AREA_TYPE = ['ÁREA DE SERVIÇO','ESPAÇO ABERTO','ESPAÇO COBERTO']; const IN_BATHROOM_TYPE = ['BANHEIRO MASCULINO','BANHEIRO FEMININO','BANHEIRO UNISSEX', 'LAVABO']; public function rules() { $rules = [ 'name' => 'required|string|max:255|min:3', 'city' => 'required|string|max:255|min:3', 'state' => 'required|string|max:255|min:2', 'number' => 'required|numeric', 'zip_code' => 'required|string', 'neighborhood' => 'required|string|max:255|min:3', 'street' => 'required|string|max:255|min:3', 'reference_point' => 'required|string|max:255|min:3', 'latitude' => 'required|string|max:255|min:3', 'longitude' => 'required|string|max:255|min:3', 'phone' => 'required|string|max:17|min:3', 'service_capacity' => 'required|numeric', 'bathroom_total' => 'required|numeric', 'responsible_for_completing' => 'required|string|max:255|min:3', 'is_shelter' => 'boolean', 'is_support_point' => 'boolean', ]; if ($this->method() == 'PUT' || $this->method() == 'PATCH') { return $rules; } $rules['is_shelter'] = ['required', 'boolean']; $rules['is_support_point'] = ['required', 'boolean']; $rules['is_real_open'] = ['required', 'boolean']; $rules = array_merge($rules, [ 'managers' => 'required|array', 'managers.*.name' => 'required|string|max:255|min:3', 'managers.*.responsibility' => 'required|string|max:255|min:3', 'managers.*.phone' => 'required|string|max:17|min:3', 'managers.*.whatsapp' => 'nullable|string|max:17|min:3', 'shelter_common_areas' => 'array', 'shelter_common_areas.*.name' => 'required_with:shelter_common_areas|string|max:255|min:5', 'shelter_common_areas.*.length' => 'required_with:shelter_common_areas|numeric', 'shelter_common_areas.*.width' => 'required_with:shelter_common_areas|numeric', 'shelter_common_areas.*.total_area' => 'required_with:shelter_common_areas|numeric', 'shelter_common_areas.*.type' => ['required_with:shelter_common_areas', Rule::in(self::IN_COMMON_AREA_TYPE)], 'shelter_common_areas.*.observation' => 'string|max:255|min:5', 'shelter_service_areas' => 'array', 'shelter_service_areas.*.observation' => 'string|max:255|min:5', 'shelter_service_areas.*.name' => 'required_with:shelter_service_areas|string|max:255|min:5', 'shelter_service_areas.*.washing_machine_amount' => 'required_with:shelter_service_areas|numeric', 'shelter_service_areas.*.washing_tank_amount' => 'required_with:shelter_service_areas|numeric', 'shelter_service_areas.*.type' => ['required_with:shelter_service_areas', Rule::in(self::IN_SERVICE_AREA_TYPE)], 'shelter_bathrooms' => 'array', 'shelter_bathrooms.*.type' => ['required_with:shelter_bathrooms', Rule::in(self::IN_BATHROOM_TYPE)], 'shelter_bathrooms.*.toilet_amount' => 'required_with:shelter_bathrooms|numeric', 'shelter_bathrooms.*.latrine_amount' => 'required_with:shelter_bathrooms|numeric', 'shelter_bathrooms.*.urinal_amount' => 'required_with:shelter_bathrooms|numeric', 'shelter_bathrooms.*.hot_shower_amount' => 'required_with:shelter_bathrooms|numeric', 'shelter_bathrooms.*.cold_shower_amount' => 'required_with:shelter_bathrooms|numeric', 'shelter_bathrooms.*.sink_amount' => 'required_with:shelter_bathrooms|numeric', 'shelter_bathrooms.*.name' => 'required_with:shelter_bathrooms|string|max:255|min:5', 'shelter_bathrooms.*.observation' => 'required_with:shelter_bathrooms|string|max:255|min:5', 'shelter_kitchens' => 'array', 'shelter_kitchens.*.name' => 'required_with:shelter_kitchens|string|max:255|min:5', 'shelter_kitchens.*.length' => 'required_with:shelter_kitchens|numeric', 'shelter_kitchens.*.width' => 'required_with:shelter_kitchens|numeric', 'shelter_kitchens.*.type' => 'required_with:shelter_kitchens|in:COZINHA', 'shelter_kitchens.*.observation' => 'string|max:255|min:5', 'shelter_water_tanks' => 'array', 'shelter_water_tanks.*.name' => 'required_with:shelter_water_tanks|string|max:255|min:5', 'shelter_water_tanks.*.type' => 'required_with:shelter_water_tanks|in:RESERVATÓRIO DE ÁGUA', 'shelter_water_tanks.*.observation' => 'string|max:255|min:5', 'shelter_water_tanks.*.amount' => 'required_with:shelter_water_tanks|numeric', 'shelter_water_tanks.*.capacity' => 'required_with:shelter_water_tanks|numeric', 'shelter_files' => 'array', ]); return $rules; } public function messages() { return [ 'shelter_kitchens.*.type.in' => 'O tipo da cozinha deve ser COZINHA', 'shelter_water_tanks.*.type.in' => 'O tipo da reservatório de água deve ser RESERVATÓRIO DE ÁGUA', 'shelter_service_areas.*.type.in' => 'O tipo da área de serviço deve ser ' . implode(', ', self::IN_SERVICE_AREA_TYPE), 'shelter_common_areas.*.type.in' => 'O tipo da área comum deve ser ' . implode(', ', self::IN_COMMON_AREA_TYPE), 'shelter_bathrooms.*.type.in' => 'O tipo da banheiro deve ser ' . implode(', ', self::IN_BATHROOM_TYPE), ]; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.03 |
proxy
|
phpinfo
|
Settings