《PHP實(shí)例:Zend Framework教程之Zend_Form組件實(shí)現(xiàn)表單提交并顯示錯(cuò)誤提示的方法》要點(diǎn):
本文介紹了PHP實(shí)例:Zend Framework教程之Zend_Form組件實(shí)現(xiàn)表單提交并顯示錯(cuò)誤提示的方法,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
PHP實(shí)例本文實(shí)例講述了Zend Framework教程之Zend_Form組件實(shí)現(xiàn)表單提交并顯示錯(cuò)誤提示的辦法.分享給大家供大家參考,具體如下:
PHP實(shí)例同時(shí)公司又要開(kāi)發(fā)一個(gè)群組功能..我也就想運(yùn)用一下Zend_Form來(lái)實(shí)現(xiàn)創(chuàng)建群組的功能.主要還是看中Zend_Form可以在寫(xiě)Form時(shí)候.實(shí)現(xiàn)服務(wù)器端的驗(yàn)證功能..省得我們?cè)诎褦?shù)據(jù)提交到數(shù)據(jù)庫(kù)的時(shí)候再驗(yàn)證一次..所以呢.我就看了一下這方面的手冊(cè)..通過(guò)Zend Framework手冊(cè)找到了相關(guān)的使用說(shuō)明...最簡(jiǎn)單的使用方式就是在控制器(Controller)里寫(xiě)一個(gè)現(xiàn)成的Action,這樣..在這個(gè)控制器里就可以直接使用這個(gè)Action...代碼可以如下:
PHP實(shí)例
<?php
public function formAction() {
$form=new Zend_Form();
$form->setName('group');
$title = new Zend_Form_Element_Select('title');
$title ->setLabel('性別') ->setMultiOptions(array('mr'=>'Mr', 'mrs'=>'Mrs')) ->setRequired(true) ->addValidator('NotEmpty', true);
$yourName = new Zend_Form_Element_Text('firstName');
$yourName->setLabel('姓名') ->setRequired(true) ->addValidator('NotEmpty', true) ;
$email = new Zend_Form_Element_Text('email');
$email->setLabel('電子郵件地址') ->addFilter('StringToLower') ->setRequired(false) ->addValidator('NotEmpty');
$submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel('group');
$form->addElements(array($title, $yourName,$email,$submit));
}
?>
PHP實(shí)例當(dāng)然..我也可以把這個(gè)Form專(zhuān)門(mén)寫(xiě)成一個(gè)類(lèi)...存放在一個(gè)forms共同的目錄下.這樣就方便我們管理我們所有的Form表單..我的實(shí)現(xiàn)方式就是把它放在和控制器(Controller)的同一級(jí)別的目錄下...這樣管理起來(lái)也方便..當(dāng)然不同的朋友..有不同的想法...另一種方式..就是可以把它寫(xiě)成View Helper...這個(gè)方式實(shí)現(xiàn)起來(lái),,也很方便..這里我就不想多寫(xiě)了...Zend Framework實(shí)現(xiàn)起來(lái)很方便...只要你想的到...無(wú)論你怎樣完成你的任務(wù),,都是可以的..在這里我就不多說(shuō)其它的...我只想談一下怎樣讓Zend_Form實(shí)現(xiàn)中文的提示信息功能...我這里有二種辦法..
PHP實(shí)例第一:比較笨的方式就是:如果你的網(wǎng)站不要做成多國(guó)語(yǔ)言的網(wǎng)站..同時(shí)你的Zend Framework版本不是經(jīng)常更換的話(huà)...你就可以找到相關(guān)提示信息的源碼...更改成中文的提示.
PHP實(shí)例這個(gè)笨方法..實(shí)在是沒(méi)有方法的方法...呵呵...
PHP實(shí)例第二:我也是在英文站...看到的一個(gè)比較好的方式,就是通過(guò)重寫(xiě)這個(gè)提示信息.把它換成我們想要的語(yǔ)言...這樣...就算我們會(huì)去換語(yǔ)言..或是換Zend Framework的版本..
PHP實(shí)例對(duì)我們的影響也不是很大...我們只要更改一下我們的Form的表單就可以搞定了..現(xiàn)在這種方式的代碼如下(我這里只寫(xiě)了Email提示信息..其它的不要多寫(xiě)出):
PHP實(shí)例
<?php
$email = new Zend_Form_Element_Text('email');
$email->setLabel('電子郵件地址') ->addFilter('StringToLower') ->setRequired(false) ->addValidator('NotEmpty') ->addValidator('EmailAddress',true,array('messages' => array(
'emailAddressInvalid' => '這不是一個(gè)可用的電子郵件!',
'emailAddressInvalidHostname' => '這不是一個(gè)有效的主機(jī)名!',
'emailAddressInvalidMxRecord' => '這不是一個(gè)有效的電子郵件地址!',
'emailAddressDotAtom' => '這不是一個(gè)有效的電子郵件地址!',
'emailAddressQuotedString' => '這不是一個(gè)有效的電子郵件地址!',
'emailAddressInvalidLocalPart' => '這不是一個(gè)有效的電子郵件地址!',
)));
?>
PHP實(shí)例到這里..Zend_Form這個(gè)組件還有一個(gè)比較重要的功能..就是Zend_Form_Decorator..手冊(cè)上稱(chēng)為裝飾器,也就是說(shuō)你可以自己寫(xiě)你想要的裝飾器..比如說(shuō)..你要把你的Form用Table包含起來(lái)..我們要怎樣實(shí)現(xiàn)呢?這個(gè)時(shí)候..我們就要用到比如說(shuō)HtmlTag,Label這些裝飾器來(lái)達(dá)到我們想要的功能...這里是一個(gè)比較重要的概念了..有興趣的朋友可以去去看一下...因?yàn)槿绻阆胍肸end_Form這個(gè)組件..不會(huì)裝飾器因該用起來(lái)會(huì)很困難..所以必須要會(huì)這個(gè)東西..才可以創(chuàng)建你自己想要的表單功能..最后..就是一點(diǎn)裝飾器的小運(yùn)用
PHP實(shí)例我只是實(shí)現(xiàn)一個(gè)小的功能...如下代碼:
PHP實(shí)例
<?php
$email = new Zend_Form_Element_Text('email');
$email->setLabel('電子郵件地址') ->addFilter('StringToLower') ->setRequired(false) //利用裝飾器來(lái)增加td標(biāo)簽
->addDecorator('HtmlTag', array('tag' => 'td')) ->addDecorator('Label', array('tag' => 'td')) //重復(fù)利用HtmlTag裝飾器來(lái)增加tr標(biāo)簽
->addDecorator(array('FooTr' => 'HtmlTag'), array('tag' => 'tr')) ->addValidator('NotEmpty');
?>
PHP實(shí)例哈哈....大致的運(yùn)用就是這樣了...最后..就是驗(yàn)證提交的數(shù)據(jù)了...看如何驗(yàn)檢驗(yàn)用戶(hù)提交的數(shù)據(jù)....這里就不多說(shuō)了...OK...
PHP實(shí)例更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Zend FrameWork框架入門(mén)教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《Yii框架入門(mén)及常用技巧總結(jié)》、《ThinkPHP入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
PHP實(shí)例希望本文所述對(duì)大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所贊助.
《PHP實(shí)例:Zend Framework教程之Zend_Form組件實(shí)現(xiàn)表單提交并顯示錯(cuò)誤提示的方法》是否對(duì)您有啟發(fā),歡迎查看更多與《PHP實(shí)例:Zend Framework教程之Zend_Form組件實(shí)現(xiàn)表單提交并顯示錯(cuò)誤提示的方法》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7282.html