I think you should change your function to beforeValidate On Feb 28, 2015 5:54 PM, "Sam Clauw" <sam.cl...@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+unsubscr...@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+unsubscr...@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.