50 lines
1.9 KiB
PHP
50 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests\Repuve;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class ModuleUpdateRequest extends FormRequest
|
|
{
|
|
public function authorize(): bool
|
|
{
|
|
return auth()->user()->can('modules.edit');
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'name' => ['nullable', 'string', 'max:50', Rule::unique('modules', 'name')->ignore($this->route('module'))],
|
|
'municipality_id' => ['nullable', 'integer', 'exists:municipalities,id'],
|
|
'responsible_id' => ['nullable', 'integer', 'exists:users,id'],
|
|
'address' => ['nullable', 'string', 'max:250'],
|
|
|
|
'longitude' => ['nullable', 'numeric', 'between:-180,180'],
|
|
'latitude' => ['nullable', 'numeric', 'between:-90,90'],
|
|
'status' => ['nullable', 'boolean'],
|
|
];
|
|
}
|
|
|
|
public function messages(): array
|
|
{
|
|
return [
|
|
'name.string' => 'El nombre debe ser texto',
|
|
'name.unique' => 'Ya existe un módulo con ese nombre.',
|
|
'name.max' => 'El nombre no debe superar los 50 caracteres',
|
|
'municipality_id.integer' => 'El municipio debe ser un número entero',
|
|
'municipality_id.exists' => 'El municipio seleccionado no existe',
|
|
'responsible_id.integer' => 'El responsable debe ser un número entero',
|
|
'responsible_id.exists' => 'El responsable seleccionado no existe',
|
|
'address.string' => 'La dirección debe ser texto',
|
|
'address.max' => 'La dirección no debe superar los 50 caracteres',
|
|
|
|
'longitude.numeric' => 'La longitud debe ser un número',
|
|
'longitude.between' => 'La longitud debe estar entre -180 y 180',
|
|
'latitude.numeric' => 'La latitud debe ser un número',
|
|
'latitude.between' => 'La latitud debe estar entre -90 y 90',
|
|
'status.boolean' => 'El status debe ser un valor booleano',
|
|
];
|
|
}
|
|
}
|