repuve-backend-v1/app/Http/Requests/Repuve/CancelConstanciaRequest.php

65 lines
2.1 KiB
PHP

<?php
namespace App\Http\Requests\Repuve;
use Illuminate\Foundation\Http\FormRequest;
class CancelConstanciaRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'vehicle_id' => 'required|integer|exists:vehicle,id',
'tag_id' => 'required|integer|exists:tags,id',
'cancellation_reason' => 'required|in:fallo_lectura_handheld,cambio_parabrisas,roto_al_pegarlo,extravio,otro',
'cancellation_observations' => 'nullable|string|max:1000',
];
}
/**
* Get custom messages for validator errors.
*/
public function messages(): array
{
return [
'vehicle_id.required' => 'El id del vehículo es obligatorio.',
'vehicle_id.integer' => 'El id del vehículo debe ser un número entero.',
'vehicle_id.exists' => 'El vehículo especificado no existe.',
'tag_id.required' => 'El id del tag es obligatorio.',
'tag_id.integer' => 'El id del tag debe ser un número entero.',
'tag_id.exists' => 'El tag especificado no existe.',
'cancellation_reason.required' => 'El motivo de cancelación es obligatorio.',
'cancellation_reason.in' => 'El motivo de cancelación no es válido. Opciones: fallo_lectura_handheld, cambio_parabrisas, roto_al_pegarlo, extravio, otro.',
'cancellation_observations.string' => 'Las observaciones deben ser texto.',
'cancellation_observations.max' => 'Las observaciones no pueden exceder 1000 caracteres.',
];
}
/**
* Get custom attributes for validator errors.
*/
public function attributes(): array
{
return [
'vehicle_id' => 'id del vehículo',
'tag_id' => 'id del tag',
'cancellation_reason' => 'motivo de cancelación',
'cancellation_observations' => 'observaciones',
];
}
}