Как сбросить элементы в Zend-форме - PullRequest
8 голосов
/ 27 октября 2011

У меня есть зенд форма, в которой у меня много элементов.Я использую форму во многих местах.У меня есть элемент 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 ]

11 голосов
/ 27 октября 2011

Используйте Zend_Form::removeElement().См. http://framework.zend.com/manual/en/zend.form.forms.html#zend.form.forms.elements.methods

Пример

$form->removeElement('merchantLogo');
4 голосов
/ 27 октября 2011

Это довольно просто:

$this->removeElement('merchantLogo');

Открытая функция removeElement () в Zend_Form берет имя элемента и удаляет его из формы.

См .: http://framework.zend.com/manual/en/zend.form.forms.html#zend.form.forms.elements.methods

3 голосов
/ 27 октября 2011

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');
}
0 голосов
/ 23 января 2019

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

Примечание для новичка:

Замените $form на возвращаемое значение remove('), чтобы использовать обновленную форму.

...