如何以zend形式取​​消元素

时间:2011-10-27 07:58:34

标签: zend-framework zend-form zend-form-element

我有一种形式,我有很多元素。我在许多地方使用表格。我有一个file的元素,那就是:

$file= new Zend_Form_Element_File('merchantLogo');
        $file->setDestination("application_data/merchant/logo/original/");
        $file->addValidator('Count', false, 1);
        $file->addValidator('Extension', false, 'jpg,png,gif,jpeg');
        $file->setDecorators(array('ViewHelper','Errors'));

现在我想问一下,如何解开这个zend形式的任何元素。我想要这个,因为虽然在我的一个动作上我没有使用这个元素,但是这个元素正在创造问题。 那么如何取消任何元素?

4 个答案:

答案 0 :(得分:11)

使用Zend_Form::removeElement()。见http://framework.zend.com/manual/en/zend.form.forms.html#zend.form.forms.elements.methods

实施例

$form->removeElement('merchantLogo');

答案 1 :(得分:4)

这很安静:

$this->removeElement('merchantLogo');

Zend_Form上的公共函数removeElement()获取元素的名称并将其从表单中删除。

请参阅:http://framework.zend.com/manual/en/zend.form.forms.html#zend.form.forms.elements.methods

答案 2 :(得分:3)

1:

$element = new Zend_Form_Element_Text('test');
if ($condition) {
    $form->addElement($element);
}

2:

$element = new Zend_Form_Element_Text('test');
$form->addElement($element);
if (!$condition) {
    $form->removeElement('test');
}

答案 3 :(得分:0)

  

$form = $form->remove('merchantLogo'); // or chain to remove ->('anotherElement');

新手注意事项:

$form替换为remove(')方法的返回值以使用更新后的表格。