Zend Form文件输入集必需false不起作用

时间:2014-06-03 13:07:35

标签: zend-framework zend-form

我有以下代码来呈现zend表单文件输入

$pd_photo = new Zend_Form_Element_File('photo');
$pd_photo->setDestination(APPLICATION_PATH . '/../uploads');
$pd_photo->setRequired(false);
$pd_photo->setAllowEmpty(true);
$pd_photo->addValidator('Count', false, 1);
$pd_photo->addValidator('Size', false, 2097156672);
$pd_photo->addValidator('Extension', false, 'jpg,jpeg,png,gif,bmp');

$pd_photo->getValidator('Count')
         ->setMessage('You can upload only one file');
$pd_photo->getValidator('Size')
         ->setMessage('Your file size cannot upload file size limit of 1 MB');
$pd_photo->getValidator('Extension')
         ->setMessage('Invalid file extension, only valid image extensions are 
                      (jpg, jpeg, png, gif, bmp) allowed.');

一切正常,但当我将文件归档为空时,它不起作用。 zend form validator返回一个空的错误字符串消息。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

这是我的第一个答案,这可能是正确的,因为, 我也曾遇到类似的问题,我看到你已经使用了两个

$pd_photo->setRequired(false);
$pd_photo->setAllowEmpty(true);

在这种情况下,您还应该定义'NotEmpty' => 'false'

尝试为文件元素定义上面的属性,这应该解决你的问题,我的解决了。