Zend изменить элементы формы обязательные параметры на false во время выполнения
У меня есть форма и два элемента для загрузки файлов. это как
$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 ответ
Zend_Forms имеют метод getElement, который позволяет вам извлекать элемент из формы по его имени. Это дает вам возможность изменить значение элемента по умолчанию перед его отображением пользователю.
Например, чтобы изменить поле с обязательного на необязательное, вы можете сделать следующее:
$form->getElement('data_file_one')->setRequired(false);