Hi Thomas,
Here's my code:
$form_config = new Zend_Config_Ini($this->_application_path
."config/forms/user.ini", "user_form");
$this->_form = new Zend_Form($form_config->form);
if ($this->getRequest()->isPost())
{
if
($this->_form->isValid($this->getRequest()->getPost()))
{
$data = $this->_form->getValues();
unset($data["submit"]); // Is there any other
way?
$this->_row->setFromArray($data);
$this->_row->save();
// Now the file name with the correct path gets saved in database
// File does not exist. Folder exists and its writable
$this->_redirect("user/profile");
}
else
{
$codes = $this->_form->getErrors();
$messages = $this->_form->getMessages();
Zend_Debug::dump($messages);
echo "No success"; exit;
}
}
And in user.ini
[user_form]
form.id = "user_form"
form.method = "post"
form.enctype = "multipart/form-data"
form.action = ""
; username element
form.elements.username.type = "text"
form.elements.username.options.validators.notempty.validator = "NotEmpty"
form.elements.username.options.validators.notempty.breakChainOnFailure =
true
form.elements.username.options.validators.strlen.validator = "StringLength"
form.elements.username.options.validators.strlen.options.min = 6
form.elements.username.options.validators.strlen.options.max = 20
form.elements.username.options.required = true
form.elements.username.options.label = "Username:"
; firstname element
form.elements.firstname.type = "text"
form.elements.firstname.options.validators.notempty.validator = "NotEmpty"
form.elements.firstname.options.validators.notempty.breakChainOnFailure =
true
form.elements.firstname.options.validators.strlen.validator = "StringLength"
form.elements.firstname.options.validators.strlen.options.min = 2
form.elements.firstname.options.validators.strlen.options.max = 30
form.elements.firstname.options.required = true
form.elements.firstname.options.label = "Firstname:"
; lastname element
form.elements.lastname.type = "text"
form.elements.lastname.options.validators.notempty.validator = "NotEmpty"
form.elements.lastname.options.validators.notempty.breakChainOnFailure =
true
form.elements.lastname.options.validators.strlen.validator = "StringLength"
form.elements.lastname.options.validators.strlen.options.min = 2
form.elements.lastname.options.validators.strlen.options.max = 30
form.elements.lastname.options.required = true
form.elements.lastname.options.label = "Lastname:"
; street element
form.elements.street.type = "text"
form.elements.street.options.validators.notempty.validator = "NotEmpty"
form.elements.street.options.validators.notempty.breakChainOnFailure = true
form.elements.street.options.validators.strlen.validator = "StringLength"
form.elements.street.options.validators.strlen.options.min = 2
form.elements.street.options.validators.strlen.options.max = 200
form.elements.street.options.required = false
form.elements.street.options.label = "Street:"
; zipcode element
form.elements.zipcode.type = "text"
form.elements.zipcode.options.validators.notempty.validator = "NotEmpty"
form.elements.zipcode.options.validators.notempty.breakChainOnFailure = true
form.elements.zipcode.options.validators.strlen.validator = "StringLength"
form.elements.zipcode.options.validators.strlen.options.min = 5
form.elements.zipcode.options.validators.strlen.options.max = 5
form.elements.zipcode.options.required = false
form.elements.zipcode.options.label = "Zipcode:"
; city element
form.elements.city.type = "text"
form.elements.city.options.validators.notempty.validator = "NotEmpty"
form.elements.city.options.validators.notempty.breakChainOnFailure = true
form.elements.city.options.validators.strlen.validator = "StringLength"
form.elements.city.options.validators.strlen.options.min = 2
form.elements.city.options.validators.strlen.options.max = 100
form.elements.city.options.required = false
form.elements.city.options.label = "City:"
; phone element
form.elements.phone.type = "text"
form.elements.phone.options.validators.notempty.validator = "NotEmpty"
form.elements.phone.options.validators.notempty.breakChainOnFailure = true
form.elements.phone.options.validators.strlen.validator = "StringLength"
form.elements.phone.options.validators.strlen.options.min = 1
form.elements.phone.options.validators.strlen.options.max = 15
form.elements.phone.options.required = false
form.elements.phone.options.label = "Phone:"
; fax element
form.elements.fax.type = "text"
form.elements.fax.options.validators.notempty.validator = "NotEmpty"
form.elements.fax.options.validators.notempty.breakChainOnFailure = true
form.elements.fax.options.validators.strlen.validator = "StringLength"
form.elements.fax.options.validators.strlen.options.min = 1
form.elements.fax.options.validators.strlen.options.max = 15
form.elements.fax.options.required = false
form.elements.fax.options.label = "Fax:"
; mobile element
form.elements.mobile.type = "text"
form.elements.mobile.options.validators.notempty.validator = "NotEmpty"
form.elements.mobile.options.validators.notempty.breakChainOnFailure = true
form.elements.mobile.options.validators.strlen.validator = "StringLength"
form.elements.mobile.options.validators.strlen.options.min = 1
form.elements.mobile.options.validators.strlen.options.max = 15
form.elements.mobile.options.required = false
form.elements.mobile.options.label = "Mobile:"
; email element
form.elements.email.type = "text"
form.elements.email.options.validators.notempty.validator = "NotEmpty"
form.elements.email.options.validators.notempty.breakChainOnFailure = true
form.elements.email.options.validators.strlen.validator = "StringLength"
form.elements.email.options.validators.strlen.options.min = 5
form.elements.email.options.validators.strlen.options.max = 255
form.elements.email.options.required = true
form.elements.email.options.label = "E-mail:"
; description element
form.elements.description.type = "textarea"
form.elements.description.options.validators.notempty.validator = "NotEmpty"
form.elements.description.options.validators.notempty.breakChainOnFailure =
false
form.elements.description.options.required = false
form.elements.description.options.label = "Description:"
; blog element
form.elements.blog.type = "text"
form.elements.blog.options.validators.notempty.validator = "NotEmpty"
form.elements.blog.options.validators.notempty.breakChainOnFailure = true
form.elements.blog.options.validators.strlen.validator = "StringLength"
form.elements.blog.options.validators.strlen.options.min = 5
form.elements.blog.options.validators.strlen.options.max = 255
form.elements.blog.options.required = false
form.elements.blog.options.label = "Mobile:"
; signature element
form.elements.signature.type = "textarea"
form.elements.signature.options.validators.notempty.validator = "NotEmpty"
form.elements.signature.options.validators.notempty.breakChainOnFailure =
false
form.elements.signature.options.required = false
form.elements.signature.options.label = "Signature:"
; picture element
form.elements.picture.type = "file"
form.elements.picture.options.required = false
form.elements.picture.options.destination = "/path/to/my/userspics"
form.elements.picture.options.label = "Picture:"
; submit button element
form.elements.submit.type = "submit"
form.elements.submit.options.name = "submit"
form.elements.submit.options.value = "Update"
form.elements.submit.options.label = "Update"
thomasW wrote:
>
> Hy Marko,
>
> Please give us some example code.
>
> Normally I would say, that you forgot to validate the form, or the
> specified
> directory does not exist.
> Files are transferred (copied) AFTER the validation was successfull.
>
> Greetings
> Thomas Weidner, I18N Team Leader, Zend Framework
> http://www.thomasweidner.com
>
> ----- Original Message -----
> From: "Marko Korhonen" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Saturday, August 16, 2008 9:41 AM
> Subject: [fw-general] Zend_Form_Element_File with new Zend_File + ini
> config
>
>
>>
>> Hi,
>>
>> I have my form defined in onw ini file.
>>
>> I added following lines to use the new Zend_File component:
>>
>> form.enctype = "multipart/form-data"
>>
>> and:
>>
>> form.elements.picture.type = "file"
>> form.elements.picture.options.required = false
>> form.elements.picture.options.destination = "/path/to/my/userspics"
>> form.elements.picture.options.label = "Picture:"
>>
>>
>> database seems to get the correct path to the correct file, but file does
>> not appear to the
>> folder I have defined.
>>
>> Any clue what I'm doing wrong?
>>
>> I didn't find any examples using ini file, so I just tried this.
>>
>> br, Marko
>> --
>> View this message in context:
>> http://www.nabble.com/Zend_Form_Element_File-with-new-Zend_File-%2B-ini-config-tp19009432p19009432.html
>> Sent from the Zend Framework mailing list archive at Nabble.com.
>
>
>
--
View this message in context:
http://www.nabble.com/Zend_Form_Element_File-with-new-Zend_File-%2B-ini-config-tp19009432p19009910.html
Sent from the Zend Framework mailing list archive at Nabble.com.