repuve-backend-v1/app/Http/Requests/Repuve/VehicleStoreRequest.php
2025-10-29 12:36:12 -06:00

42 lines
1.4 KiB
PHP

<?php namespace App\Http\Requests\Repuve;
use Illuminate\Foundation\Http\FormRequest;
class VehicleStoreRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'folio' => ['required', 'string', 'max:50'],
'tag_number' => ['required', 'string', 'exists:tags,tag_number'],
'vin' => ['required', 'string', 'max:30'],
'files' => ['nullable', 'array', 'min:1'],
'files.*' => ['file', 'mimes:jpeg,png,jpg', 'max:10240'],
'names' => ['nullable', 'array'],
'names.*' => ['string', 'max:255'],
];
}
public function messages(): array
{
return [
'folio.required' => 'El folio es requerido',
'folio.string' => 'El folio debe ser una cadena de texto',
'tag_number.required' => 'El tag_number es requerido',
'tag_number.exists' => 'El tag_number no existe en el sistema',
'vin.required' => 'El VIN es requerido',
'vin.string' => 'El VIN debe ser una cadena de texto',
'files.array' => 'Los archivos deben ser un array',
'files.*.file' => 'Cada elemento debe ser un archivo válido',
'files.*.mimes' => 'Los archivos deben ser de tipo: jpeg, png, jpg, pdf',
'files.*.max' => 'Cada archivo no debe superar los 10MB',
];
}
}