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配置文件路徑的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇thinkphp配置文件路徑的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
php 生成靜態(tài)頁(yè)面的辦法與實(shí)現(xiàn)代碼詳細(xì)版
首先說(shuō)原理。查了那么多資料,發(fā)現(xiàn)不管用什么方法,原理都是一樣的。就是用程序讀取相應(yīng)的數(shù)據(jù)來(lái)替換模版中的變量,然后生成靜態(tài)頁(yè)。2010-02-02
laravel model模型處理之修改查詢或修改字段時(shí)的類型格式案例
今天小編就為大家分享一篇laravel model模型處理之修改查詢或修改字段時(shí)的類型格式案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想過(guò)來(lái)看看吧2019-10-10
Laravel 5框架學(xué)習(xí)之日期,Mutator 和 Scope
PHP校驗(yàn)15位和18位身份證號(hào)的類封裝
Thinkphp集成抖音SDK的實(shí)現(xiàn)方法
tp5(thinkPHP5框架)使用DB實(shí)現(xiàn)批量刪除功能示例

