Laravel 5.3新增上传图片尺寸验证规则介绍

作者:袖梨 2022-06-25

在 Laravel 5.3 中,新增了一个表单验证选项:上传图片的图片尺寸,该验证规则名称为 dimensions ,你可以传递如下参数到验证规则:

min_width:宽度比这个尺寸窄的图片将会被拒绝
max_width:宽度比这个尺寸宽的图片将会被拒绝
min_height:高度比这个尺寸矮的图片将会被拒绝
max_height:高度比这个尺寸高的图片将会被拒绝
width:宽度不等于这个尺寸的图片将会被拒绝
height:高度不等于这个尺寸的图片将会被拒绝
ratio:宽高比不等于这个值的图片将会被拒绝

你也可以组合使用这些规则,下面让我们来看一些示例。

定义一个简单的路由规则:

// routes file
Route::get('/', function () {
    return view('form');
});

Route::post('/', 'ImageController@postImage');

对应视图文件如下:



   
   

最后,让我们来编写控制器 ImageController ,并实现验证规则代码:

/**
 * 图片验证规则代码
 * Author:学院君@LaravelAcademy.org
 */
// ImageController
public function postImage(Request $request)
{
    $this->validate($request, [
        'avatar' => 'dimensions:min_,min_'
    ]);

    // 或者 ...

    $this->validate($request, [
        'avatar' => 'dimensions:min_,max_'
    ]);


    // 或者 ...

    $this->validate($request, [
        'avatar' => 'dimensions:,'
    ]);

    // 或者...

    // 确保图片宽度是高度的1.5倍
    $this->validate($request, [
        'avatar' => 'dimensions:ratio:3/2'
    ]);
}

相关文章

精彩推荐