Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend Framework 1.12-Zend表单文件元素触发错误的验证消息_Php_Zend Framework_Zend Form - Fatal编程技术网

Php Zend Framework 1.12-Zend表单文件元素触发错误的验证消息

Php Zend Framework 1.12-Zend表单文件元素触发错误的验证消息,php,zend-framework,zend-form,Php,Zend Framework,Zend Form,我看过类似的答案,但找不到任何解决办法 我的一个表单中有一个file元素。该元素定义如下 $file = $this->createElement('file', 'templateFile'); $file->setAttrib('id', 'templateFile') ->setAttrib('class', 'form-control') ->setAttrib('placeholder', 'File containing template

我看过类似的答案,但找不到任何解决办法

我的一个表单中有一个file元素。该元素定义如下

$file = $this->createElement('file', 'templateFile');
$file->setAttrib('id', 'templateFile')
     ->setAttrib('class', 'form-control')
     ->setAttrib('placeholder', 'File containing template headers')
     ->setLabel('Template File <span class="glyphicons glyphicons-sheriffs_star requiredFlag"></span>')
     ->setRequired(true)
     ->addValidator('NotEmpty', false)
     ->addValidator('Count', false, 1)
     ->addValidator('Size', false, '1MB')
     ->addValidator("Extension", false, array('csv', 'txt'))
     ->addFilter('StringTrim');

$file->getValidator('NotEmpty')->setMessage('Please select a template file');
$file->getValidator('Count')->setMessage(' Please upload one file at a time');
$file->getValidator('Size')->setMessage('File exceeds the upload limit of 1 MB');
$file->getValidator('Extension')->setMessage('Invalid file extension. Only CSV and TXT files are allowed');
当文件未被选中时,我如何触发以下错误消息并避免上述错误

未选择文件时,应显示此错误消息

Please select a template file

谢谢你的帮助。

我设法解决了这个问题。希望它能帮助将来的人

问题在于我向文件elemenet添加验证器的顺序

将顺序更改为以下解决了问题

$file = $this->createElement('file', 'templateFile');
        $file->setAttrib('id', 'templateFile')
            ->setAttrib('class', 'form-control')
            ->setAttrib('placeholder', 'File containing template headers')
            ->setLabel('Template File <span class="glyphicons glyphicons-sheriffs_star requiredFlag"></span>')
            ->setDestination($destination)
            ->setRequired(true)
            ->addValidator('Count', false, 1)
            ->addValidator('NotEmpty', false)
            ->addValidator('Size', false, '15MB')
            ->addValidator("Extension", false, array('txt' ,'csv'))
            ->addFilter('StringTrim');
$file=$this->createElement('file','templateFile');
$file->setAttrib('id','templateFile')
->setAttrib('class','form control')
->setAttrib('占位符','包含模板头的文件')
->setLabel('模板文件')
->setDestination($destination)
->setRequired(true)
->addValidator('Count',false,1)
->addValidator('NotEmpty',false)
->addValidator('Size',false,'15MB')
->addValidator(“扩展名”,false,数组('txt','csv'))
->addFilter(“StringTrim”);
$file = $this->createElement('file', 'templateFile');
        $file->setAttrib('id', 'templateFile')
            ->setAttrib('class', 'form-control')
            ->setAttrib('placeholder', 'File containing template headers')
            ->setLabel('Template File <span class="glyphicons glyphicons-sheriffs_star requiredFlag"></span>')
            ->setDestination($destination)
            ->setRequired(true)
            ->addValidator('Count', false, 1)
            ->addValidator('NotEmpty', false)
            ->addValidator('Size', false, '15MB')
            ->addValidator("Extension", false, array('txt' ,'csv'))
            ->addFilter('StringTrim');