kohana框架上傳文件驗證規(guī)則寫法示例
更新時間:2014年07月14日 11:52:07 投稿:junjie
這篇文章主要介紹了kohana框架上傳文件驗證規(guī)則寫法示例,本文介紹的是避免兩次new Validation的方法,需要的朋友可以參考下
先聲明下我用的是ko3.2.0版本.
kohana的驗證,用的同學(xué)們都少懂點,因為每個函數(shù)的注釋里都會舉個例子.今天遇到的情況是驗證圖片上傳,kohana的例子是這個樣子的.
復(fù)制代碼 代碼如下:
$array->rule('file', 'Upload::type', array(array('jpg', 'png', 'gif')));
這個本身沒有問題,但是呢,在實際的應(yīng)用中總有點不方便,為什么呢,因為傳到后面處理的時候,不僅要驗證圖片的上傳還要驗證form表單的某些字段.
一般我們會這樣寫
復(fù)制代碼 代碼如下:
$post = new Validation($_POST);
$file = new Validation($_FILES);
這樣寫也沒什么問題,驗證的時候按例子寫也ok.但是覺得new2次有點怪怪的,而且我們也知道$_POST和$_FILES都是數(shù)組,可以一次驗么?那肯定的,當(dāng)然,我們得先把它們變成一個大的數(shù)組.這樣寫就OK.
復(fù)制代碼 代碼如下:
$post = new Validation(array_merge($_POST,$_FILES));//不明白的同學(xué),度娘下array_merge
重點出場了,親們.大家都知道驗證form表單的字段寫法和合并前沒什么區(qū)別,關(guān)鍵是這個圖片上傳(或是其他的用到upload)要怎么寫.
好吧,時間關(guān)系直接上代碼,大家可以拿去直接用,當(dāng)然有興趣的同學(xué)也可以試用rules.
復(fù)制代碼 代碼如下:
$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版本,其它版本注意修改下寫法.
相關(guān)文章
php 生成靜態(tài)頁面的辦法與實現(xiàn)代碼詳細(xì)版
首先說原理。查了那么多資料,發(fā)現(xiàn)不管用什么方法,原理都是一樣的。就是用程序讀取相應(yīng)的數(shù)據(jù)來替換模版中的變量,然后生成靜態(tài)頁。2010-02-02
laravel model模型處理之修改查詢或修改字段時的類型格式案例
今天小編就為大家分享一篇laravel model模型處理之修改查詢或修改字段時的類型格式案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨想過來看看吧2019-10-10
Laravel 5框架學(xué)習(xí)之日期,Mutator 和 Scope
這篇文章主要介紹了Laravel 5框架學(xué)習(xí)之日期,Mutator 和 Scope的相關(guān)資料,需要的朋友可以參考下
2015-04-04
tp5(thinkPHP5框架)使用DB實現(xiàn)批量刪除功能示例
這篇文章主要介紹了tp5(thinkPHP5框架)使用DB實現(xiàn)批量刪除功能,結(jié)合實例形式分析了thinkPHP5前端視圖界面數(shù)據(jù)交互及后臺使用DB處理數(shù)據(jù)庫刪除的相關(guān)操作技巧,需要的朋友可以參考下
2019-05-05 
