仅在上传文件时使用 Zend 2 Extension Validator

Use Zend 2 Extension Validator only if file is uploaded

我想仅在上传文件时验证文件扩展名。

我有一个包含文件输入元素的字段集集合。如果我只想为其中一个字段集上传一个文件并将其余文件输入元素留空,则表单未经过验证,尽管它们已 required = false。此验证会触发 "fileExtensionNotFound" 错误。

有没有办法将 AllowEmpty 添加到扩展验证器或之前?

        'file' => array(
            'required' => false,
            'validators' => array(
                array(
                    'name' => 'Zend\Validator\File\Extension',
                    'options' => array(
                        'extension' => array('pdf', 'xls','doc'),
                    )
                )
            )
        )

我必须将类型指定为 FileInput。

        'file' => array(
            'type' => '\Zend\InputFilter\FileInput',
            'allow_empty' => true,
            'required' => false,
            'validators' => array(
                array(
                    'name' => 'Zend\Validator\File\Extension',
                    'options' => array(
                        'extension' => array('pdf', 'xls','doc')
                    ),
                ),
            ),
        ),