I think you should change your function to beforeValidate
On Feb 28, 2015 5:54 PM, "Sam Clauw" <sam.clauw@gmail.com> wrote:
-- Okay Charles , that makes sense so I changed my code:--
<?php
class Outlet extends CoasterCmsAppModel
{
public $validate = array(
'name' => array(
'rule' => 'notEmpty', // verplicht
'message' => 'Nameis required.',
'allowEmpty' => true
),
'intro' => array(
'rule' => 'notEmpty', // verplicht
'message' => 'Intro is required.'
),
'photo' => array(
'validFileSize' => array( // zelf gekozen naam van de regel
'rule' => array('filesize', '>', 0), // verplicht
'on' => 'create',
'message' => 'Photo is required.'
)
),
'photoTemp' => array(
'validExtension' => array( // zelf gekozen naam van de regel
'rule' => array('extension', array('jpg', 'jpeg', 'png', 'gif')),
'on' => 'create',
'message' => 'Photo has to contain a valid extension (jpg, jpeg, png or gif).'
),
'validExtension' => array( // zelf gekozen naam van de regel
'rule' => array('extension', array('jpg', 'jpeg', 'png', 'gif')),
'allowEmpty' => true,
'on' => 'update',
'message' => 'Photo has to contain a valid extension (jpg, jpeg, png or gif).'
)
)
);
public function beforeValidate()
{
$this->data['Outlet']['photoTemp'] = $this->data['Outlet']['photo'];
$this->data['Outlet']['photo'] = $this->data['Outlet']['photoTemp']['name'];
}
public function afterValidate()
{
$filename = $this->data['Outlet']['photo'];
if (!empty($filename)) {
move_uploaded_file($this->data['Outlet']['photoTemp']['tmp_name'], WWW_ROOT . 'img' . DS . 'outlets' . DS . $filename);
} else {
unset($this->data['Outlet']['photo']);
}
unset($this->data['Outlet']['photoTemp']);
}
}
However, I still get the error message that I should upload a file with a correct extension. It's just like 'allowEmpty' => true" isn't working at all.I quess in my case it's checking the value in $this->data['Outlet']['photoTemp']['type'] so what could possibly be the problem?
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment