user()->can('vehicles.create'); } public function rules(): array { return [ 'folio' => ['required', 'string', 'max:50'], 'tag_number' => ['required', 'string'], 'placa' => ['required', 'string', 'max:30'], 'telefono' => ['required', 'string', 'max:11'], 'files' => ['nullable', 'array', 'min:1'], 'files.*' => ['file', 'mimes:jpeg,png,jpg', 'max:10240'], 'name_id' => ['nullable', 'array', 'min:1'], 'name_id.*' => ['nullable', 'integer', 'exists:catalog_name_img,id'] ]; } 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', 'placa.required' => 'La placa es requerida', 'placa.string' => 'La placa debe ser una cadena de texto', 'telefono.required' => 'El teléfono es requerido', 'telefono.max' => 'El teléfono no debe superar los 10 caracteres', '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', ]; } }