<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
use Illuminate\Http\UploadedFile;
class ExcelRule implements Rule
{
private $file;
/**
* @param UploadedFile $file
*/
public function __construct(UploadedFile $file)
{
$this->file = $file;
}
/**
* @param string $attribute
* @param mixed $value
*
* @return bool
*/
public function passes($attribute, $value): bool
{
$extension = strtolower($this->file->getClientOriginalExtension());
return in_array($extension, ['csv', 'xls', 'xlsx']);
}
public function message(): string
{
return 'The excel file must be a file of type: csv, xls, xlsx.';
}
}