Hi,

I have a form, where I need to disable some items (the user can't modify it, but he can see the fields values) When the user submits the form, before validating it, I set the initial values for the disabled fields, so this way I can be sure, that
a) The user can't modify any of the disabled fields values
b) The fields get their values (if a field is disabled, then zend_form won't see its value)

This way everything was fine, until I needed a file upload field. When it is disabled, I get the following error during form validation:

Fatal error: Uncaught exception 'Zend_File_Transfer_Exception' with message '"newFile" not found by file transfer adapter' in /jail/web/ projekter.lativus.com/Zend/File/Transfer/Adapter/Abstract.php:1254 Stack trace: #0 /jail/web/projekter.lativus.com/Zend/File/Transfer/Adapter/ Abstract.php(572): Zend_File_Transfer_Adapter_Abstract-
>_getFiles('newFile')
#1 /jail/web/projekter.lativus.com/Zend/Form/Element/File.php(435): Zend_File_Transfer_Adapter_Abstract->isValid('newFile') #2 /jail/web/projekter.lativus.com/Zend/Form.php(1985): Zend_Form_Element_File->isValid(NULL, Array) #3 /jail/web/projekter.lativus.com/application/default/controllers/ TaskController.php(311): Zend_Form->isValid(Array) #4 /jail/web/projekter.lativus.com/Zend/Controller/Action.php(503): TaskController->editAction() #5 /jail/web/projekter.lativus.com/Zend/Controller/Dispatcher/ Standard.php(285): Zend_Controller_Action->dispatch('editAction') #6 /jail/web/projekter.lativus.com/Zend/Controller/Front.php(934): Zend_Controller_Dispatcher_Standard->dispatch(O in /jail/web/ projekter.lativus.com/Zend/File/Transfer/Adapter/Abstract.php on line 1254

I suppose the file upload fields value also doesn't get submitted, but I don't think setting some value for it before validation will work in this case.

Do you have any suggestions about dealing with this problem?

Your generic problem is that you can't set the value of a file element.
The value of a file element is the content of the file itself, the user wants to upload.

So when you want to render the user the filename of a uploaded file you must use a text element instead of a file element.

You may also want to use the latest release as several issues have already been fixed since ZF 1.7.

Greetings
Thomas Weidner, I18N Team Leader, Zend Framework
http://www.thomasweidner.com

Reply via email to