Php 如何设置自定义错误消息zend表单元素文件?

Php 如何设置自定义错误消息zend表单元素文件?,php,file,zend-framework,element,validation,Php,File,Zend Framework,Element,Validation,所以我使用Zend,我有一个Zend表单,它有一个Zend_表单_元素_文件和三个验证器: 1.setRequired 2.延伸 3.大小 我想为这些验证器设置自定义错误消息,但不知道如何设置 我之所以要设置自定义错误消息,是因为我有一个自定义装饰器,当表单无效时,我可以使用isValid()捕获所有错误,并将它们显示在表单顶部。获取表单中错误的方法是getErrors() 我也试过: 通过这样做: $validator = new Zend_Validate_File_Upload();

所以我使用Zend,我有一个Zend表单,它有一个Zend_表单_元素_文件和三个验证器: 1.setRequired 2.延伸 3.大小

我想为这些验证器设置自定义错误消息,但不知道如何设置

我之所以要设置自定义错误消息,是因为我有一个自定义装饰器,当表单无效时,我可以使用isValid()捕获所有错误,并将它们显示在表单顶部。获取表单中错误的方法是getErrors()

我也试过: 通过这样做:

 $validator = new Zend_Validate_File_Upload();
 $validator->setMessages(array('fileUploadErrorNoFile' => 'Upload an image!''));

 $this->browse->addValidator($validator);

有什么帮助吗?

这是我用来设置自定义验证程序消息的方法

$this->browse = new Zend_Form_Element_File('Browse');
$this->browse->setRequired(true)
             ->removeDecorator('errors')
             ->removeDecorator('label')
             ->addValidator('Extension', true, 'pdf')
             ->addValidator('Size', false, 2000000)
             //->setMessage('You custom message')
             ->addValidator('File_Upload', true, array('messages'=>'You custom message'));
$file = new Zend_Form_Element_File('file');
$file->setLabel('File Label')
     ->setMaxFileSize('512000')
     ->addValidator('Count', true, 1)
     ->addValidator('Size', true, 512000)
     ->addValidator('Extension', true, 'jpg,jpeg,png,gif');

$file->getValidator('Count')->setMessage('You can upload only one file');
$file->getValidator('Size')->setMessage('Your file size cannot upload file size limit of 512 kb');
$file->getValidator('Extension')->setMessage('Invalid file extension, only valid image with file format jpg, jpeg, png and gif are allowed.');
下面是一些链接,可能对理解自定义验证器消息很有用

$file = new Zend_Form_Element_File('file');
$file->setLabel('File Label')
     ->setMaxFileSize('512000')
     ->addValidator('Count', true, 1)
     ->addValidator('Size', true, 512000)
     ->addValidator('Extension', true, 'jpg,jpeg,png,gif');

$file->getValidator('Count')->setMessage('You can upload only one file');
$file->getValidator('Size')->setMessage('Your file size cannot upload file size limit of 512 kb');
$file->getValidator('Extension')->setMessage('Invalid file extension, only valid image with file format jpg, jpeg, png and gif are allowed.');


要在zend_form_element_文件中添加自定义消息,请参阅以下代码

   $browse = new Zend_Form_Element_File('Browse');
   $browse->addValidator('Extension', false, array('pdf',
               'messages'=>array('fileExtensionFalse'=>'file extension is not supported'))
          ->addValidator('Size', false, array(2000000,
                'messages'=>array('filesizefalse'=>'maximum 2000000 supported'));

谢谢你!我一直在寻找一种方法来做到这一点,但在文档中并不太清楚。