我有一个表单并有两个文件上传元素。就像
$data_file_one = $this->createElement('file','data_file_one');
$data_file_one->setRequired(true)
->addValidator('Extension', false, 'csv')
->setDestination($filepath);
两者都设置为必需的true。我使用相同的表单来发布新帖子和编辑帖子。当它用于编辑时,文件上传不应该是强制性的,必须设置为必需的false。所以,我需要改变
setRequired(true)to setRequired(false)
如果调用编辑操作来加载表单并更改此元素选项,该怎么办?
提前致谢。
答案 0 :(得分:6)
Zend_Forms有一个名为getElement的方法,它允许您通过名称从表单中检索元素。这使您能够在将元素呈现给用户之前修改元素的默认值。
例如,要将字段从必需更改为可选,您可以执行以下操作:
$form->getElement('data_file_one')->setRequired(false);