如何限制可以上传的文件数量?max
验证似乎适用于图像的大小(以千字节为单位)。如何验证允许上传的最大文件数(例如,单个输入只能上传 10 个文件)?
最佳答案
我在 laravel 7.x 中的表现
使用以下命令创建一个新的表单请求类
php artisan make:request UploadImageRequest
use Illuminate\Foundation\Http\FormRequest;
use App\Http\Requests\BaseFormRequest;
class UploadImageRequest extends BaseFormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'coverImage.*' => 'image|mimes:png,jpg,jpeg,gif,svg|max:2048',
'coverImage' => 'max:5',
];
}
public function messages() {
return [
'coverImage.*.max' => 'Image size should be less than 2mb',
'coverImage.*.mimes' => 'Only jpeg, png, bmp,tiff files are allowed.',
'coverImage.max' => 'Only 5 images are allowed'
];
}
在 View.blade.php<input type="file" id="coverImage" name="coverImage[]"
class="form-control-file @error('coverImage') is-invalid @enderror" multiple>
@error('coverImage')
<span class="text-danger">{{ $message }}</span>
@enderror
在 Controller 中public function store(UploadImageRequest $request)
{
//code
}
关于laravel - 限制可以上传的文件数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29087560/