Изображения не проверяются по размеру - PullRequest
0 голосов
/ 09 октября 2018

У меня есть таблица для собственности и одна для свойств.Когда я нажимаю «Сохранить», я сохраняю свойство featured_image и несколько изображений в таблице фотографий, связанных со вставленным свойством:

$messages = [
    'path.*required|max:200' => 'Each image should not exceed 200 Kilobytes',
    ];

$this->validate($request, [
    'path.*' => 'required|max:200',
    'featured_image' => 'required|max:300',
], $messages);

if($request->hasFile('path')){
    foreach ($request->path as $photo) {
        $photoname = $photo->getClientOriginalName();
        $photo->move('images', $photoname);
        $photoModel = new Photo;
        $photoModel->path = $photoname;
        $photoModel->property_id = $prop->id;
        $photoModel->save();
    }
} 

Моя проблема заключается в проверке.Если я загружаю рекомендуемое изображение ($ request-> featured_image), размер которого превышает 400 килобайт, это выдает ошибку.Но когда я загружаю несколько изображений, проверка их не работает.Мне удалось загрузить изображение размером 6 МБ!

Что еще мне нужно сделать с проверкой?

Кроме того, мое пользовательское сообщение не отображается.

1 Ответ

0 голосов
/ 09 октября 2018

В вашем методе validate вы проверяете по одному изображению, поэтому, когда вы загружаете несколько изображений, это просто не будет работать, потому что это уже не одно изображение, а массив.В этом случае вам нужно использовать подстановочный знак после имени атрибута, например так: 'featured_image.*', потому что это фактически относится к любому количеству отправляемых изображений, и это правило проверки в основном используется для multiple загрузки файлов

РЕДАКТИРОВАТЬ: Чтобы установить максимальный размер всех изображений 2mb, вы можете использовать: max:5, потому что 2048 / 400 = 5.12

РЕДАКТ. 2: Для пользовательских сообщений, пожалуйста, проверьте URL-адрес, который я указал в комментариях, и прокрутите внизнемного вы увидите, как вы можете display error messages или, если он не ниже этого раздела, просто найдите displaying error messages, вы увидите, как вести

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...