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

在 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.blade.php-->
<form method="POST" enctype="multipart/form-data">
    <input type="file" name="avatar">
    <input type="submit">
</form>
最后,让我们来编写控制器 ImageController ,并实现验证规则代码:

/**
 * 图片验证规则代码
 * Author:学院君@LaravelAcademy.org
 */
// 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'
    ]);
}

时间: 2024-09-30 12:47:45

Laravel 5.3新增上传图片尺寸验证规则介绍的相关文章

jquery plupload上传图片尺寸验证的方法

plupload是很强大的一个上传组件,支持html5,flash,silverlight,html4等语言插件.本文分享2个验证上传图片大小的方法. 1.浏览器客户端验证: 在支持 FileReader 的浏览器上可以做上传前校验,否则只能在上传后校验了 支持 FileReader 的浏览器上代码: FilesAdded: function (up, files) {         var reader = new FileReader();         reader.readAsDat

Asp.net MVC验证那些事(1)-- 介绍和验证规则使用

原文  Asp.net MVC验证那些事(1)-- 介绍和验证规则使用 数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validation来保证无论是新增或者更新数据的时候,都必须符合我们定义的验证规则,否则就会提示错误. 一, DRY原则 DRY是Don't repeat yourself的缩写,意思是不要写重复的代码.MVC中的Validation设计就是遵循了这个原则. 比如下面中的Movie类, 当用户在网页上填写Movie信息的时候,并

在yii中新增一个用户验证的方法详解_php技巧

1.为什么要新增一个用户验证:因为我要将网站后台和前台做在同一个yii的应用中.但是前台也包含有会员的管理中心.而这两个用户验证是完全不同的,所以需要两个不同登陆页面,要将用户信息保存在不同的cookie或session中.所以需要在一个应用中增加一个用户验证2.yii的用户验证:在自定义用户验证前,我们首先要弄清楚yii的验证和授权方式.为了验证一个用户,我们需要定义一个有验证逻辑的验证类.在yii中这个类需要实现IUserIdentity接口,不同的类就可以实现不同的验证方 法.网站登陆一般

ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则

对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也就是对于同一个Model对象,在不同的使用场景中可能具有不同的验证规则.举个简单的例子,对于一个表示应聘者的数据对象来说,针对应聘的岗位不同,肯定对应聘者的年龄.性别.专业技能等方面有不同的要求.但是ASP.NET MVC的Model验证确是Model驱动的,因为验证规则以验证特性的形式应用到Model类型及其属性上.这样的验证方式实际上限制了Model类型在基于不同验证规则的使用场景中的重用.通过上一篇文章<将V

数据验证 规则-根据规则验证数据库 数据验证问题

问题描述 根据规则验证数据库 数据验证问题 2C 根据规则验证数据库的数据的准确性和完整性,规则是可配置的.比如表A 字段1的值等于1,字段2的值等于1 时字段三根据前两个字段值必须为2. 还有一种情况假设表A有一个类型字段,当类型等于XX时表B必须要有一条关联的记录. 我只说了两种情况, 规则是不定的,可能有很多种情况. 该怎么实现,有没有人做过类似的东西. 没什么分了,忘大牛门不吝赐教 解决方案 简单的,可以用表达式解析,复杂的用脚本引擎,把规则表达式或者脚本代码存入 解决方案二: WPF数

Yii初学者必看-yii 表单验证规则

对yii深入了解总结出:希望对初学者有些帮助 Active Record (AR) 是一个流行的 对象-关系映射 (ORM) 技术. 每个 AR 类代表一个数据表(或视图),数据表(或视图)的列在 AR 类中体现为类的属性,一个 AR 实例则表示表中的一行. 常见的 CRUD 操作作为 AR 的方法实现.因此,我们可以以一种更加面向对象的方式访问数据. 例如,我们可以使用以下代码向 tbl_post 表中插入一个新行. yii 表单验证规则 <?php classContactFormexten

PHP Yii框架之表单验证规则大全_php实例

Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用.Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程. 废话不多说了,直接给大家贴代码了. <?php class ContactForm extends CFormModel { public $_id; public $contact;//联系人 public $tel;//电话 public $fax;//传真 public $zipcode;//邮编 public $addr;//地址 public $mobile;

yii2中的rules 自定义验证规则详解_php实例

yii2的一个强大之处之一就是他的Form组件,既方便又安全.有些小伙伴感觉用yii一段时间了,好嘛,除了比tp"难懂"好像啥都没有. 领导安排搞一个注册的功能,这家伙刷刷刷的又是百度啥啥啥好的表单样式,又是百度啥啥啥validate验证,真替这家伙捏把汗. 当然啦,废话说在前头,咱们的重点喃,是要利用ActiveForm,然后怎么去实现自定义验证规则. 先来说说场景: 条件:①.有两个字段分别是A和B ②.A有两个值分别是1和2 需求是:当用户选择的A的值等于1的时候,B的值必须填写

PHP YII框架开发小技巧之模型(models)中rules自定义验证规则_php实例

YII的models中的rules部分是一些表单的验证规则,对于表单验证十分有用,在相应的视图(views)里面添加了表单,在表单被提交之前程序都会自动先来这里面的规则里验证,只有通过对其有效的限制规则后才能被提交,可以很有效地保证表单安全和信息的有效性.还是给大家具体说明一下: 以下是视图(views)部分的简单代码: <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'tag-form', 'enableAjaxVa