我需要删除一个 zend 表单元素,但该removeElement($name)
功能不起作用。
我的表单类:
class Forms_Signup extends Zend_Form
{
public function init()
{
$this->setName('signup');
$id = new Zend_Form_Element_Hidden('id');
$id->addFilter('Int');
$name = new Zend_Form_Element_Text('name');
$name ->setLabel('Name : ')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator('NotEmpty')
->setValue('nametest');
$password = new Zend_Form_Element_Text('password');
$password->setLabel('Mot de Passe')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator('NotEmpty');
}
}
在我的控制器动作中:
public function signupAction() {
$signupForm = new Forms_Signup();
$signupForm->removeElement('password');
$this->view->signupform = $signupForm;
}
但是“密码”表单元素仍然出现在我的“signup.phtml”页面中。我尝试不使用setRequired(true)
或其他过滤器和验证器,但没有结果。