kohana框架上傳文件驗(yàn)證規(guī)則寫法示例
先聲明下我用的是ko3.2.0版本.
kohana的驗(yàn)證,用的同學(xué)們都少懂點(diǎn),因?yàn)槊總€(gè)函數(shù)的注釋里都會(huì)舉個(gè)例子.今天遇到的情況是驗(yàn)證圖片上傳,kohana的例子是這個(gè)樣子的.
這個(gè)本身沒(méi)有問(wèn)題,但是呢,在實(shí)際的應(yīng)用中總有點(diǎn)不方便,為什么呢,因?yàn)閭鞯胶竺嫣幚淼臅r(shí)候,不僅要驗(yàn)證圖片的上傳還要驗(yàn)證form表單的某些字段.
一般我們會(huì)這樣寫
$post = new Validation($_POST);
$file = new Validation($_FILES);
這樣寫也沒(méi)什么問(wèn)題,驗(yàn)證的時(shí)候按例子寫也ok.但是覺(jué)得new2次有點(diǎn)怪怪的,而且我們也知道$_POST和$_FILES都是數(shù)組,可以一次驗(yàn)么?那肯定的,當(dāng)然,我們得先把它們變成一個(gè)大的數(shù)組.這樣寫就OK.
$post = new Validation(array_merge($_POST,$_FILES));//不明白的同學(xué),度娘下array_merge
重點(diǎn)出場(chǎng)了,親們.大家都知道驗(yàn)證form表單的字段寫法和合并前沒(méi)什么區(qū)別,關(guān)鍵是這個(gè)圖片上傳(或是其他的用到upload)要怎么寫.
好吧,時(shí)間關(guān)系直接上代碼,大家可以拿去直接用,當(dāng)然有興趣的同學(xué)也可以試用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就是前臺(tái)form表單中input type="file" 那個(gè)控件名稱啦,后臺(tái)是找不到ID的.
再次聲明我用的kohana3.2.0版本,其它版本注意修改下寫法.
相關(guān)文章
ThinkPHP 連接Oracle數(shù)據(jù)庫(kù)的詳細(xì)教程[全]
最近收集了一些關(guān)于THinkPHP連接Oracle數(shù)據(jù)庫(kù)的問(wèn)題,有很多朋友按照連接mysql的方法來(lái)操作,導(dǎo)致有一些方法在Oreale中無(wú)法正常使用2012-07-07Zend?Framework框架的校驗(yàn)器使用使用示例(自定義校驗(yàn)器和校驗(yàn)器鏈)
這篇文章主要介紹了Zend?Framework框架的校驗(yàn)器使用使用示例(自定義校驗(yàn)器和校驗(yàn)器鏈),需要的朋友可以參考下2014-03-03PHP Curl模擬登錄微信公眾平臺(tái)、新浪微博實(shí)例代碼
這篇文章主要介紹了PHP Curl模擬登錄微信公眾平臺(tái)、新浪微博實(shí)例代碼的相關(guān)資料,涉及到php curl模擬登錄相關(guān)知識(shí),需要的朋友可以參考下2016-01-01PHP利用超級(jí)全局變量$_POST來(lái)接收表單數(shù)據(jù)的實(shí)例
下面小編就為大家?guī)?lái)一篇PHP利用超級(jí)全局變量$_POST來(lái)接收表單數(shù)據(jù)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11