Zend изменить элементы формы обязательные параметры на false во время выполнения - PullRequest
2 голосов
/ 06 августа 2011

У меня есть форма и два элемента для загрузки файлов. это как

$data_file_one = $this->createElement('file','data_file_one');
            $data_file_one->setRequired(true)
                            ->addValidator('Extension', false, 'csv')
                            ->setDestination($filepath);

Для обоих задано значение true. Я использую ту же форму для новых сообщений и редактирования сообщений. Когда он используется для редактирования, загрузка файла не должна быть обязательной и должна быть установлена ​​в значение false Итак, мне нужно изменить

setRequired (true) для setRequired (false)

Как мне сделать, когда вызывается действие edit для загрузки формы и изменения этой опции элемента?

Заранее спасибо.

1 Ответ

6 голосов
/ 06 августа 2011

Zend_Forms имеют метод getElement, который позволяет вам извлекать элемент из формы по его имени.Это дает вам возможность изменить значение элемента по умолчанию перед его отображением пользователю.

Например, чтобы изменить поле с обязательного на необязательное, вы можете сделать следующее:

$form->getElement('data_file_one')->setRequired(false);
...