日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php this validate,php扩展ZF——Validate扩展

發布時間:2025/3/15 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php this validate,php扩展ZF——Validate扩展 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php擴展ZF——Validate擴展

更新時間:2008年01月10日 20:27:49 ? 作者:

php擴展ZF——Validate擴展

之前寫了一片文章關于如何在ZF0.6版本下擴展ZF的。這篇應該說是類似的文章,但環境換成ZF1.0RC1版本了。

在開始ZF擴展之前,推薦先看看ZF手冊中的一些命令規范(ZF推薦使用),同時希望讀者對ZF有較好的理解。如果沒有,可以先上PHPCHIAN的ZF版本詳細了解,或者到phpeye查找相關資料。

ZF的validator提供了強大的驗證功能,但在實際的操作中還是過于煩瑣。比如說驗證郵件,是用ZF的代碼如下

require_once?'Zend/Validate/EmailAddress.php';

$validator?=?new?Zend_Validate_EmailAddress();

if?($validator->isValid($email))?{

//?email?appears?to?be?valid

}?else?{

//?email?is?invalid;?print?the?reasons

foreach?($validator->getMessages()?as?$message)?{

echo?"$message\n";

}

}

?>

有沒有發現,還是很類似我們不使用ZF的驗證方式。只不過ZF幫我們把郵件驗證的細節封裝好了。那么我們如何簡化成這樣效果呢?(下面是我擴展后的調用方式)

$validate?=?new?Phpbean_Validate();

$validate?->?set_breakOnFailure(false);

$validate?->?add('email',new?Zend_Validate_EmailAddress(),'郵件地址不正確!');

$validate?->?add('username',new?Zend_Validate_StringLength(3,15),'用戶名長度必須在3到15之間!\'%value%\'不滿足條件');

$validate?->?add('password',new?Zend_Validate_StringLength(6,20),'密碼長度必須在6到20之間!');

$validate?->?add('password',new?Phpbean_Validate_isEqual($_POST['repassword']),'兩次輸入密碼不匹配');

$authcode?=?new?Phpbean_Img_Code();

$validate?->?add('yanxue8_authcode',new?Phpbean_Validate_isEqual($authcode->authcode($_POST['yanxue8_authcode_mdcode'],'DECODE')),'驗證碼不匹配!');

if(?!$validate?->?validator($_POST)?){

error_page('注冊失敗',$validate->getMessageText());

}

?>

用上面這種方式一方面代碼清晰,另一方面也有利同意的出錯處理。那么如何做到這樣呢?

關鍵是Phpbean_Validate這個類。

其實實現起來很簡單,Phpbean_Validate::add()方法是把一條條的驗證規則加入進來。然后調用Phpbean_Validate::validator()來驗證就OK了。

具體實現步驟如下:

首先,在zend的同級目錄中增加一個phpbean文件夾,然后在里面增加一個Validator.php文件。

然后,在validator.php文件加入Phpbean_Validate這個類的定義。注意(你可以修改成自己的文件名和路徑名,但注意一定要和類的名稱保持一致)。

這里,我給出我的Phpbean_Validate類的實現過程,僅供參考。

class?Phpbean_Validate{

protected?$_fileds?=array();

protected?$_message?=?array();

protected?$_breakOnFailure?=?true;

public?function?set_breakOnFailure($value){

$this->_breakOnFailure?=?$value;

}

public?function?add($key,$validate,$message='',$breakOnFailure=''){

if(?empty($breakOnFailure)?)?$breakOnFailure?=?$this->_breakOnFailure;

$this->_fileds[]?=?array($key,$validate,$message,$breakOnFailure);

return?$this;

}

public?function?validator($array?=?array()){

if(empty($array))?$array?=?$_POST;

if?(is_array($this->_fileds))?{

foreach?($this->_fileds?as?$filed){

list($key,$validate,$message,$breakOnFailure)?=?$filed;

if(empty($key)){

if(!$validate){

$this->_message[][]?=?$message;

if($breakOnFailure)?break;

}

continue;

}

if(!empty($message))?$validate->setMessage($message);

if(?!$validate->isValid($array[$key])?){

$this->_message[$key][]?=?$validate->getMessages();

if($breakOnFailure)?break;

}

}

if(!empty($this->_message))return?false;

return?true;

}

return?true;

}

public?function?getMessage(){

return?$this->_message;

}

public?function?getMessageText(){

$str?=?'';

foreach?($this->_message?as?$ms){

foreach?($ms?as?$m)?$str?.=?$m[0]."\n";

}

return?$str;

}

}

?>

另外你還可以直接擴展一些驗證規則類。下篇我再詳細說。

相關文章

本文給大家分享的是個人對于PHP編碼轉換問題的理解以及處理方法,非常的簡單實用,有需要的小伙伴可以參考下。2015-07-07

最近做一個網頁小偷程序的時候才發現file_get_content已經完全不能滿足需求了。我覺得,在讀取遠程內容的時候,file_get_content除了使用比curl便捷以外,其他都沒有curl好2014-05-05

這篇文章主要介紹了PHP過濾黑名單關鍵字的方法,通過保存過濾關鍵字到txt文件,再讀取txt文件內容進行正則匹配替換來實現過濾功能,需要的朋友可以參考下2014-12-12

今天小編就為大家分享一篇關于在PHP中輸出JS語句以及亂碼問題的解決方案,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02

以下是對php中的strrpos函數與strripos函數的用法進行了詳細的介紹,需要的朋友可以過來參考下2013-08-08

這篇文章主要為大家詳細

介紹了php圖像驗證碼的生成代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06

ExtJS與PHP、MySQL實現存儲的方法,需要的朋友可以參考下,里面有詳細的步驟。2010-04-04

array_splice() 函數與 array_slice() 函數類似,選擇數組中的一系列元素,但不返回,而是刪除它們并用其它值代替2011-11-11

今天想提一下如何配置PHPMyAdmin,因為在開發者,是比較普遍用到的。2009-05-05

這篇文章主要介紹了PHP程序設計中的MVC編程思想,對于深入理解MVC程序設計思想有一定的幫助,需要的朋友可以參考下2014-07-07

最新評論

總結

以上是生活随笔為你收集整理的php this validate,php扩展ZF——Validate扩展的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产中文一区二区 | 国产高清视频免费 | 日韩视频一 | 亚洲一级在线观看 | 黄色片子免费 | 欧美涩涩视频 | 精品少妇视频 | 日韩大尺度视频 | 性生活一区 | 超碰个人在线 | 六月婷婷中文字幕 | 国模精品一区 | 日韩一级成人 | 日本全黄裸体片 | 午夜福利视频一区二区 | 亚洲毛片久久 | 国产www免费观看 | 久热精品在线观看视频 | 久久久99久久 | 在线视频a | 91在线免费视频 | av女优天堂在线观看 | 黄色一级免费大片 | 永久免费看片在线播放 | 草草在线免费视频 | 色妹av | 亚洲综合涩 | 国产麻豆剧传媒精品国产av | 国产亚洲精品久久 | eeuss国产一区二区三区黑人 | 欧美亚洲视频 | 国产中文 | 国产精品久久久久久久久久久久久久久久久 | 美女张开双腿让男人捅 | 宇都宫紫苑在线播放 | 成人在线视频一区二区三区 | 毛片999| 蜜桃传媒一区二区亚洲av | 郑艳丽三级 | 亚洲成a人v欧美综合天堂麻豆 | 波多野结衣一区二区三区高清av | 97视频在线观看免费高清完整版在线观看 | 亚洲一区你懂的 | 天堂av免费在线观看 | 国产精品乱码一区二区视频 | 黑人操亚洲美女 | 中文字幕人妻丝袜乱一区三区 | 天堂8在线视频 | 日韩影视一区二区三区 | 黄色国产在线播放 | av一道本 | 亚洲理论中文字幕 | 熟妇五十路六十路息与子 | 国产一区91精品张津瑜 | 九九亚洲精品 | 视频一区二区在线 | 好色视频tv| 又粗又大又硬毛片免费看 | 波多野结衣免费观看视频 | 依人在线视频 | 国内av| 黄色亚洲精品 | 久久久久一级片 | 国产真实乱人偷精品人妻 | 激情国产| 国产91美女视频 | 国产喷白浆一区二区三区 | 亚洲精品在线网站 | 亚洲2022国产成人精品无码区 | 久热精品在线视频 | 岛国av噜噜噜久久久狠狠av | 国产精品区在线 | 看黄色的网址 | 午夜国产精品视频 | 亚洲一区二区视频网站 | 尤物视频在线 | 免费视频污 | 午夜性色福利视频 | 99久久国产免费 | 白白色2012年最新视频 | 日韩精品福利视频 | 日韩精品二区在线观看 | 91精品国产99 | 亚洲欧美日本在线 | 黄色片免费 | 未满十八18禁止免费无码网站 | 国产高清视频在线观看 | 欧美一级片免费观看 | 欧美视频一二区 | 男女互操在线观看 | 欧美aaaaaa | 中文字幕在线免费观看视频 | 亚洲欧美精品午睡沙发 | 新婚之夜玷污岳丰满少妇在线观看 | 精品亚洲在线 | 中文字幕在线视频一区二区三区 | 中文天堂在线观看 | 在线你懂得| 亚洲一片|