В Laravel 5.3 появилась новая возможность проверки ввода: размер загружаемого изображения. Правило проверки называется %%(t)dimensions%%, оно принимает следующие параметры: * %%(t)min_width%% - минимальная ширина (в пикселях) * %%(t)max_width%% - максимальная ширина * %%(t)min_height%% - минимальная высота * %%(t)max_height%% - максимальная высота * %%(t)width%% - требуемая ширина (должна быть равной этому значению) * %%(t)height%% - требуемая высота * %%(t)ratio%% - требуемое соотношение сторон (указывается в виде "ширина/высота") {{CUT}} Вы можете комбинировать правила, работающие вместе. Давайте рассмотрим несколько примеров. Сначала зададим нашу основу. %% // routes file Route::get('/', function () { return view('form'); }); Route::post('/', 'ImageController@postImage'); %% %%(html)
%% Теперь создадим наш %%ImageController%% и несколько правил проверки. %% // ImageController public function postImage(Request $request) { $this->validate($request, [ 'avatar' => 'dimensions:min_width=250,min_height=500' ]); // или... $this->validate($request, [ 'avatar' => 'dimensions:min_width=500,max_width=1500' ]); // или... $this->validate($request, [ 'avatar' => 'dimensions:width=100,height=100' ]); // или... // Проверка, что ширина изображения равна 1,5 высоты $this->validate($request, [ 'avatar' => 'dimensions:ratio=3/2' ]); } %% Вот и всё! Вещей, которые надо делать в коде самому, стало ещё на одну меньше.