kohana框架上传文件验证规则写法示例


Posted in PHP onJuly 14, 2014

先声明下我用的是ko3.2.0版本.

kohana的验证,用的同学们都少懂点,因为每个函数的注释里都会举个例子.今天遇到的情况是验证图片上传,kohana的例子是这个样子的.

$array->rule('file', 'Upload::type', array(array('jpg', 'png', 'gif')));

这个本身没有问题,但是呢,在实际的应用中总有点不方便,为什么呢,因为传到后面处理的时候,不仅要验证图片的上传还要验证form表单的某些字段.
一般我们会这样写
$post = new Validation($_POST);

$file = new Validation($_FILES);

这样写也没什么问题,验证的时候按例子写也ok.但是觉得new2次有点怪怪的,而且我们也知道$_POST和$_FILES都是数组,可以一次验么?那肯定的,当然,我们得先把它们变成一个大的数组.这样写就OK.
$post = new Validation(array_merge($_POST,$_FILES));//不明白的同学,度娘下array_merge

重点出场了,亲们.大家都知道验证form表单的字段写法和合并前没什么区别,关键是这个图片上传(或是其他的用到upload)要怎么写.
好吧,时间关系直接上代码,大家可以拿去直接用,当然有兴趣的同学也可以试用rules.
$post->rule('img','not_empty')

     ->rule('img','Upload::type',array(':value',array('jpg','png','gif')))

      ->rule('img','Upload::size',array(':value','1M'));

PS:img就是前台form表单中input type="file" 那个控件名称啦,后台是找不到ID的.
再次声明我用的kohana3.2.0版本,其它版本注意修改下写法.
PHP 相关文章推荐
PHP 上传文件大小限制
Jul 05 PHP
PHP模块 Memcached功能多于Memcache
Jun 14 PHP
PHPMYADMIN导入数据最大为2M的解决方法
Apr 23 PHP
PHP插入排序实现代码
Apr 04 PHP
php导出word格式数据的代码实例
Nov 25 PHP
destoon常用的安全设置概述
Jun 21 PHP
yii2超好用的日期组件和时间组件
May 05 PHP
Yii框架连接mongodb数据库的代码
Jul 27 PHP
thinkPHP5框架中widget的功能与用法详解
Jun 11 PHP
php生成二维码不保存服务器还有下载功能的实现代码
Aug 09 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
Laravel多域名下字段验证的方法
Apr 04 PHP
PHP开发框架kohana中处理ajax请求的例子
Jul 14 #PHP
兼容ie6浏览器的php下载文件代码分享
Jul 14 #PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 #PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 #PHP
PHP缓存机制Output Control详解
Jul 14 #PHP
PHP生成指定长度随机数最简洁的方法
Jul 14 #PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 #PHP
You might like
php 中的4种标记风格介绍
2012/05/10 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
超轻量级的基于jquery的三级展开列表
2011/04/26 Javascript
理解JSON:3分钟课程
2011/10/28 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
jquery+easeing实现仿flash的载入动画
2015/03/10 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
react-router中的属性详解
2017/06/01 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
使用Python脚本来控制Windows Azure的简单教程
2015/04/16 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
Python3 log10()函数简单用法
2019/02/19 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
优秀教师的感人事迹
2014/02/04 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
佛光寺导游词
2015/02/10 职场文书
财政局个人总结
2015/03/04 职场文书
保研推荐信范文
2015/03/25 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
《鲸》教学反思
2016/02/23 职场文书
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS