I use the SVN trunk r14554, too. Can you capture the screen of the output messages when uploaded a file that not gif extension ? Thanks. Best Regards, Jacky
2009/3/31 Thomas Weidner <[email protected]> > Are you using a release version or the svn trunk or a svn branch ? > I've tested on SVN trunk r14554 and the related lines of code look similar > to the actual branch 1.7. > > Greetings > Thomas Weidner, I18N Team Leader, Zend Framework > http://www.thomasweidner.com > > ----- Original Message ----- From: "Jacky Chen" <[email protected]> > To: <[email protected]> > Sent: Tuesday, March 31, 2009 4:44 PM > > Subject: Re: [fw-general] about zend_form_element_file error messages > > > Sorry,Thomas,but it exactly not worked for me.I just copy and run the >> example that you provided to me. But it just print the empty array when >> uploaded an file that is not gif extension. Maybe the Zend Framework >> version >> you used not the same with i used. But i use the newest ZF that update >> from >> the svn. >> just try the example that you provided,upload an file that not gif >> extension,and see that if any error messages were displayed? >> >> Forgive me the poor english. Thank you very much. >> >> Best Regards, >> Jacky >> >> 2009/3/31 Thomas Weidner <[email protected]> >> >> Jacky, >>> >>> 2 things before: >>> >>> Stop writing me privatly when we have a conversation over the mailing >>> list. >>> It's really annoying always to go into the spam filter to get your mail. >>> Future mails not coming through the mailing list will be ignored by me. >>> >>> Second note... please stop just to say "doesn't work" without giving the >>> example code you've tried. >>> This is wether usefull nor shows it that you really want to be helped. >>> >>> Now the answer: >>> What I've said before is true. It works like I've said. See the code with >>> which I've tested it: >>> ------------------------------------- >>> <?php >>> error_reporting(E_ALL|E_STRICT); >>> >>> >>> ini_set('include_path',ini_get('include_path').PATH_SEPARATOR.'../library'); >>> require_once('Zend/Loader.php'); >>> Zend_Loader::registerAutoload(); >>> >>> $request = new Zend_Controller_Request_Http(); >>> >>> // setup the form >>> $form = new Zend_Form(); >>> $form->setMethod(Zend_Form::METHOD_POST) >>> ->setAttrib('enctype', Zend_Form::ENCTYPE_MULTIPART); >>> >>> $form = new Zend_Form(); >>> $element = new Zend_Form_Element_File('file'); >>> $element->setRequired(true); >>> $element->addValidator('upload', false, array('messages' => >>> array(Zend_Validate_File_Upload::FILE_NOT_FOUND => 'no file given'))); >>> $element->addValidator('extension', true, array('gif', 'messages' => >>> array(Zend_Validate_File_Extension::FALSE_EXTENSION => 'not a gif >>> image'))); >>> >>> $form->addElement($element); >>> $form->setAttrib('enctype', 'multipart/form-data'); >>> $form->addElement('submit', 'Submit'); >>> >>> >>> // check the form >>> if($request->isPost()) { >>> $formData = $request->getPost(); >>> if($form->isValid($formData)) { >>> $form->file->receive(); >>> } else { >>> print "\nVALIDATION FAILURES:"; >>> print_r($form->file->getMessages()); >>> } >>> } >>> print "</pre>"; >>> >>> ?> >>> >>> <html> >>> <head> >>> <title>Test</title> >>> </head> >>> <body> >>> <?php echo $form->render(new Zend_View());?> >>> </body> >>> </html> >>> ----------------------------- >>> and the output I am getting is >>> Array ( [fileUploadErrorFileNotFound] => no file given ) >>> >>> which clearly shows that the set message is really thrown out as >>> expected. >>> Once again... when you set the false constants nothing will be outputted >>> as >>> the validator accesses a different error message than you gave. >>> >>> Greetings >>> Thomas Weidner, I18N Team Leader, Zend Framework >>> http://www.thomasweidner.com >>> >>> ----- Original Message ----- From: "Jacky Chen" <[email protected]> >>> To: "Thomas Weidner" <[email protected]> >>> Sent: Tuesday, March 31, 2009 9:10 AM >>> >>> Subject: Re: [fw-general] about zend_form_element_file error messages >>> >>> >>> No,it not worked as you said, i got an empty array() from >>> >>>> $form->getMessages() when no file was uploaded. And the Zend Framework >>>> is >>>> the newest from the svn. >>>> Best Regards, >>>> Jacky >>>> >>>> 2009/3/31 Thomas Weidner <[email protected]> >>>> >>>> Well, when you want to display a own error message, then you have to >>>> set >>>> >>>>> the correct message constant. >>>>> >>>>> NOT_FOUND is, as it's text says, for "file not found"... >>>>> FALSE_EXTENSION is as it's text says for "file has the false >>>>> extension... >>>>> >>>>> So why should your text be displayed when you set the false constant ? >>>>> Giving "NOT_FOUND" will not be displayed when the extension is false. >>>>> >>>>> I would simply set the correct message constant to get the wished >>>>> output. >>>>> Running your code I get eighter >>>>> "[fileUploadErrorNoFile] => The file 'file' was not uploaded " when no >>>>> file >>>>> was uploaded, or >>>>> "[fileUploadErrorNoFile] => The file 'file' was not uploaded " when a >>>>> false >>>>> extension was used. >>>>> >>>>> And when I change your code from NOT_FOUND to FALSE_EXTENSION then I >>>>> get >>>>> "[fileExtensionFalse] => not a gif image " displayed when I do print_r >>>>> on >>>>> getMessages() from the form. >>>>> >>>>> Greetings >>>>> Thomas Weidner, I18N Team Leader, Zend Framework >>>>> http://www.thomasweidner.com >>>>> >>>>> ----- Original Message ----- From: "Jacky Chen" <[email protected]> >>>>> To: "Thomas Weidner" <[email protected]> >>>>> Sent: Tuesday, March 31, 2009 4:42 AM >>>>> >>>>> Subject: Re: [fw-general] about zend_form_element_file error messages >>>>> >>>>> >>>>> OK,i want to validate a form file element if an image with gif >>>>> >>>>> extension,but >>>>>> no error messages be displayed after the form validate failed. >>>>>> just try this: >>>>>> >>>>>> <?php >>>>>> required_once 'Zend/Controller/Action.php'; >>>>>> >>>>>> class IndexController extends Zend_Controller_Action >>>>>> { >>>>>> public function indexAction() >>>>>> { >>>>>> $form = new Zend_Form(); >>>>>> $form->setEnctype(Zend_Form::ENCTYPE_MULTIPART); >>>>>> >>>>>> $image = new Zend_Form_Element_File('image'); >>>>>> $image->setLabel('upload a gif image'); >>>>>> $image->setRequired(true); >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> $image->addValidator('extension',true,array('gif','messages'=>array(Zend_Validate_File_Extension::NOT_FOUND=>'not >>>>>> a gif image'))); >>>>>> >>>>>> $form->addElement($image); >>>>>> $form->addElement('submit','submit'); >>>>>> >>>>>> if ($this->_request->isPost() && >>>>>> $form->isValid($this->_request->getPost()) { >>>>>> echo 'validate success'; >>>>>> } >>>>>> >>>>>> $this->view->form = $form; >>>>>> } >>>>>> } >>>>>> ?> >>>>>> >>>>>> views/script/index/index.phtml >>>>>> >>>>>> <?php >>>>>> echo $this->form; >>>>>> ?> >>>>>> >>>>>> run this page,then upload a file that is not gif extension,the form >>>>>> would >>>>>> validate failed.But the error message of 'not a gif image' not >>>>>> displayed >>>>>> bellow to the form file element. >>>>>> >>>>>> Best Regards, >>>>>> Jacky >>>>>> >>>>>> 2009/3/31 Thomas Weidner <[email protected]> >>>>>> >>>>>> And why should they be assigned by isValid() ? No one said that. >>>>>> >>>>>> >>>>>>> Instead of thinking that the implementation does not work it would be >>>>>>> better if you say where you have a problem. >>>>>>> It makes no sense to discuss ZF internal code which works and is >>>>>>> tested >>>>>>> ;-). >>>>>>> >>>>>>> Greetings >>>>>>> Thomas Weidner, I18N Team Leader, Zend Framework >>>>>>> http://www.thomasweidner.com >>>>>>> >>>>>>> ----- Original Message ----- From: "Jacky Chen" <[email protected]> >>>>>>> To: "Thomas Weidner" <[email protected]> >>>>>>> Sent: Monday, March 30, 2009 7:32 PM >>>>>>> Subject: Re: [fw-general] about zend_form_element_file error messages >>>>>>> >>>>>>> >>>>>>> >>>>>>> but in the isValid() method of the form file element,no error >>>>>>> messages >>>>>>> >>>>>>> were >>>>>>> >>>>>>>> assigned to the form by file adapter. >>>>>>>> Best Regards, >>>>>>>> Jacky >>>>>>>> >>>>>>>> 2009/3/30 Thomas Weidner <[email protected]> >>>>>>>> >>>>>>>> Error messages from the form are not assigned to the file adapter. >>>>>>>> >>>>>>>> It is the other way round... error messages from the file adapter >>>>>>>> are >>>>>>>> >>>>>>>>> assigned to the form. >>>>>>>>> >>>>>>>>> Greetings >>>>>>>>> Thomas Weidner, I18N Team Leader, Zend Framework >>>>>>>>> http://www.thomasweidner.com >>>>>>>>> >>>>>>>>> ----- Original Message ----- From: "Jacky Chen" < >>>>>>>>> [email protected]> >>>>>>>>> To: <[email protected]> >>>>>>>>> Sent: Monday, March 30, 2009 12:36 PM >>>>>>>>> Subject: [fw-general] about zend_form_element_file error messages >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> is it not implement the error messages process for the form file >>>>>>>>> >>>>>>>>> element >>>>>>>>>> just now,or missing that? no error messages are assign to the form >>>>>>>>>> file >>>>>>>>>> element after the file adapter validated the file element. >>>>>>>>>> >>>>>>>>>> Best Regards, >>>>>>>>>> Jacky >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
