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;
}
しかし、「password」フォーム要素はまだ私の「signup.phtml」ページに表示されます。setRequired(true)
または他のフィルターやバリデーターを使用しないようにしましたが、結果はありませんでした。