说明
此文章是 [Laravel 5.3 新功能] 系列的第七篇文章,图片尺寸表单验证规则。
[Laravel 5.3 新功能] 系列完整文章列表请见:https://phphub.org/topics/2638
正文
在 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');
<form method="POST" enctype="multipart/form-data">
<input type="file" name="avatar">
<input type="submit">
</form>
现在让我们来编写控制器 ImageController 的验证规则代码:
// ImageController
public function postImage(Request $request)
{
$this->validate($request, [
'avatar' => 'dimensions:min_width=250,min_height=500'
]);
// or...
$this->validate($request, [
'avatar' => 'dimensions:min_width=500,max_width=1500'
]);
// or...
$this->validate($request, [
'avatar' => 'dimensions:width=100,height=100'
]);
// or...
// Ensures that the width of the image is 1.5x the height
$this->validate($request, [
'avatar' => 'dimensions:ratio=3/2'
]);
}
这就完成图片尺寸的验证功能了,接下来只要完善好业务逻辑即可。
全文完。
链接
reference : https://phphub.org/topics/2670
沒有留言:
張貼留言