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环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
Mar 16 PHP
PHP将XML转数组过程详解
Nov 13 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
php 邮件发送问题解决
Mar 22 PHP
PHP aes (ecb)解密后乱码问题
Jun 22 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
Oct 27 PHP
教你php如何实现验证码
Jan 20 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
使用vs code编辑调试php配置的方法
Jan 29 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 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
咖啡是不是喝了会上瘾?咖啡是必须品吗!
2021/03/04 新手入门
php URL跳转代码 减少外链
2011/06/25 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
javascript 操作文件 实现方法小结
2009/07/02 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
javascript帧动画(实例讲解)
2017/09/02 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
vue 项目build错误异常的解决方法
2019/04/22 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
关于Python中浮点数精度处理的技巧总结
2017/08/10 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
Django后端发送小程序微信模板消息示例(服务通知)
2019/12/17 Python
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
青年教师培训方案
2014/02/06 职场文书
公司年会策划方案
2014/05/17 职场文书
安全生产月宣传标语
2014/10/06 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
文明旅游倡议书
2015/04/28 职场文书
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android