Zend framework ZF 2.4文件验证器需要假密码';行不通
今天我更新到ZF2.4以使用浮点验证器,但不幸的是,我意识到我的文件上载表单字段会给出意外的错误消息 这是我的表单对象Zend framework ZF 2.4文件验证器需要假密码';行不通,zend-framework,zend-framework2,zend-form,zend-validate,zend-file,Zend Framework,Zend Framework2,Zend Form,Zend Validate,Zend File,今天我更新到ZF2.4以使用浮点验证器,但不幸的是,我意识到我的文件上载表单字段会给出意外的错误消息 这是我的表单对象 $this->add([ 'name' => 'profileimage', 'type' => '\Zend\Form\Element\File', 'attributes' => [ 'id' => 'profileimage',
$this->add([
'name' => 'profileimage',
'type' => '\Zend\Form\Element\File',
'attributes' => [
'id' => 'profileimage',
'class' => 'styled',
],
]
);
这是我的验证器
$inputFilter->add([
'name' => 'profileimage',
'required' => false,
'allow_empty' => true,
'priority' => 300,
'filters' => [
['name' => 'StripTags'],
['name' => 'StringTrim'],
],
'validators' => [
[
'name' => '\Zend\Validator\File\IsImage',
],
[
'name' => '\Zend\Validator\File\UploadFile',
],
[
'name' => '\Zend\Validator\File\ImageSize',
'options' => [
'minWidth' => 300,
'minHeight' => 300,
]
],
[
'name' => '\Zend\Validator\File\Size',
'options' => [
'max' => '20MB',
]
],
]
]);
如您所见,图像上载字段不是必需的,可能为空。但在我的表格中,我发现了以下错误:
array (size=1)
'profileimage' =>
array (size=4)
'fileIsImageNotReadable' => string 'File is not readable or does not exist' (length=38)
'fileUploadFileErrorNoFile' => string 'File was not uploaded' (length=21)
'fileImageSizeNotReadable' => string 'File is not readable or does not exist' (length=38)
'fileSizeNotFound' => string 'File is not readable or does not exist' (length=38)
我如何处理这个问题?我需要将此字段设置为可选。更改过滤器
$inputFilter->add([
'name' => 'profileimage',
'type' => '\Zend\InputFilter\FileInput',
'required' => false,
'allow_empty' => true,
'priority' => 300,
'filters' => [
['name' => 'StripTags'],
['name' => 'StringTrim'],
],
'validators' => [
[
'name' => '\Zend\Validator\File\IsImage',
],
[
'name' => '\Zend\Validator\File\UploadFile',
],
[
'name' => '\Zend\Validator\File\ImageSize',
'options' => [
'minWidth' => 300,
'minHeight' => 300,
]
],
[
'name' => '\Zend\Validator\File\Size',
'options' => [
'max' => '20MB',
]
],
]
]);
请在此处阅读:这里的技巧是指定\Zend\InputFilter\FileInput的类型。在上面的链接中可以看到一些关键的区别。