2012-02-22 66 views
7

我已經創建了一個擴展zend表單的user_form類,它有4個元素用戶名,密碼,散列用於csrf,最​​後提交按鈕。如何在一次表單對象創建後在特定位置添加zend表單元素?

創建user_form對象呈現所有這四個元素。

驗證控制器操作中的登錄後,我檢查失敗嘗試,並且在嘗試了一些失敗嘗試後,我想在提交按鈕之前添加zend捕獲。

我添加了驗證碼元素,它被添加在提交按鈕後。

如何在特定位置添加zend元素?或者如何在提交按鈕之前添加它?

還讓我知道我的做法是正確的嗎? 等待您的回覆。 謝謝你...

回答

14

給你的元素訂單號碼從一開始。當您添加訂單號碼時,請向驗證碼元素添加訂單編號。

$element->setOrder(10); 

$form->addElement('text', 'username', array('order' => 10)); 

又見Zend_Form manual

+0

並沒有意識到這一點。刪除了我的答案。 – Layke 2012-02-22 14:35:53

+0

謝謝@ markus-tharkun – 2012-02-23 06:38:43

+0

鏈接已死:(但我現在使用ZF2 – Dennis 2017-05-10 21:40:50

6

您可以使用setOrder()作爲馬庫斯說,或當你渲染你的形式在你viewscript,可以分別渲染每個字段:

// .phtml 
<form id="form" action="<?= $this->escape($this->form->getAction()); ?>" method="<?= $this->escape($this->form->getMethod()); ?>"> 
<table> 
    <?= $this->form->username ?> 
    <?= $this->form->password ?> 
    <?= $this->form->hash ?> 
    <?= $this->form->captcha ?> 
    <?= $this->form->submit ?> 
</table> 
</form> 
+0

謝謝@Liyali – 2012-02-23 06:38:21

相關問題