7

したがって、私はZendを使用しており、Zend_Form_Element_Fileと3つのバリデーターを備えたZendフォームがあります。1。setRequired 2.Extension3.サイズ

 $this->browse = new Zend_Form_Element_File('Browse');
 $this->browse->setRequired(false)->removeDecorator('errors')->removeDecorator('label')
->addValidator('Extension', true, 'pdf')->addValidator('Size', false, 2000000);

これらのバリデーターにカスタムエラーメッセージを設定したいのですが、方法がわかりません。

カスタムエラーメッセージを設定する理由は、フォームがisValid()で無効な場合にすべてのエラーを取得し、フォームの上部に表示するカスタムデコレータがあるためです。フォームでエラーを取得するメソッドはgetErrors()です。

私も試しました:http://www.mail-archive.com/fw-general@lists.zend.com/msg25779.html次のよう にします。

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

とやって

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

何か助けはありますか?

4

3 に答える 3

20

これは私がカスタムバリデーターメッセージを設定するために使用する方法です。

$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.');

カスタムバリデーターメッセージを理解するのに役立つ可能性のあるリンクのいくつかを次に示します。

http://framework.zend.com/manual/en/zend.validate.messages.html

ZendFrameworkカスタム検証クラスのエラーメッセージ

Zend_Formでカスタムバリデーターメッセージを設定できません

于 2012-08-28T05:07:39.397 に答える
2
$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'));
于 2012-08-28T03:39:29.553 に答える
1

zend_form_element_fileにカスタムメッセージを追加するには、次のコードを参照してください。

   $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'));
于 2012-10-11T09:03:21.347 に答える