我正在开发Zend Framework 1.11.12
版本。在我必须放置file upload (for photo upload)
字段的添加表单中,它几乎没有validations as required, file extensions and size specific criteria
提到如下,这是在我的 zend 表单下声明的:
// part of my form class (Default_Form_Photo::init)
$photo = new Zend_Form_Element_File('photo', '', array('required' => true));
$photo->setLabel('Photo')
->setDestination('/var/www/zendframework/public/uploads/');
// ensure its mandatory
#$photo->addValidator('required', true);
// ensure only one file
$photo->addValidator('Count', false, array('min' => 1));
// max 2MB
$photo->addValidator('Size', false, 2097152)
->setMaxFileSize(2097152);
// only JPEG, PNG, or GIF
$photo->addValidator('Extension', false, 'jpg,jpeg,png,gif');
$photo->setValueDisabled(true);
$this->addElement($photo, 'photo');
现在我已经拍摄了一个hidden field
,edit page
如果没有上传新图像,它将返回我当前的图像名称:
// hidden element for edit time photo save
$this->addElement('hidden', 'photo_uploaded', array( ));
我设置了这个hidden element value from controller
。$form->photo_uploaded->setValue($result['photo'])
现在的问题是:当用户编辑信息时,它不允许保存,因为file upload field is blank
没有上传新图像,但在我的情况下必须使用现有的当前图像,我从隐藏元素传递到我的控制器。
所以验证在这里会导致问题,任何想法如何删除我的编辑页面的验证,用户不必每次都上传新图像,他们正在编辑信息。
尽早回复将不胜感激。
谢谢 !