2012-02-22 85 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

相关问题