244863 Posted March 20, 2013 Share Posted March 20, 2013 VIEW: <div class="column span-24"> <div class="box"> <?php echo $this->html->tag('h2', $title_for_layout); echo $this->form->create('Job', array('action' => 'add')); echo $this->form->inputs(array( 'description' => array( 'class' => 'span-22' ) )); echo $this->element('standard-form-buttons'); ?> </div> </div> CONTROLLER: public function add() { $this->set('title_for_layout', __('Create new Job', true)); if ($this->request->is('post')) { $this->request->data['Job']['created_by'] = $this->Auth->user('id'); unset($this->request->data['Job']['asset_category_id']); $this->Job->set($this->request->data); if ($this->Job->validates()) { $this->Job->create(); if ($this->Job->save($this->request->data, array($params = array('validate' => 'first')))) { $this->Session->setFlash('The job has been saved'); $this->redirect(array('controller' => 'jobs', 'action' => 'index')); } else { $this->Session->setFlash('The job could not be saved. Please, try again.'); } }else{ $errors = $this->ModelName->invalidFields(); } } } MODEL: <?php class Job extends AppModel { public $validate = array( 'Job.description' => array( 'notEmpty' => array( 'rule' => 'notEmpty', 'message' => 'The descripton must be completed.' ) ) ); } ?> IT won't show the validation errors on the form when I hit save??? any ideas what I am doing wrong? Link to comment https://forums.phpfreaks.com/topic/275923-cakephp-validation/ Share on other sites More sharing options...
Jessica Posted March 20, 2013 Share Posted March 20, 2013 In your model, try changing 'Job.description' => array( to 'description' => array( Link to comment https://forums.phpfreaks.com/topic/275923-cakephp-validation/#findComment-1419834 Share on other sites More sharing options...
244863 Posted March 20, 2013 Author Share Posted March 20, 2013 Tried that both ways. It just says the standard (Please fill out this field) from the DB as it is a required field and not the validation I stipulated below for minLength??? public $validate = array( 'description' => array( 'rule' => array('minLength', , 'message' => 'The descripton must be completed.' ) ); Link to comment https://forums.phpfreaks.com/topic/275923-cakephp-validation/#findComment-1419839 Share on other sites More sharing options...
Jessica Posted March 20, 2013 Share Posted March 20, 2013 That's a different problem than the first post, and different code. It helps if you actually explain the problem. It looks fine, according to the manual. http://book.cakephp.org/2.0/en/models/data-validation.html What happens when you enter a string that is less than 8 long? Don't forget to read the section on multiple rules. http://book.cakephp.org/2.0/en/models/data-validation.html#multiple-rules-per-field Link to comment https://forums.phpfreaks.com/topic/275923-cakephp-validation/#findComment-1419841 Share on other sites More sharing options...
244863 Posted March 20, 2013 Author Share Posted March 20, 2013 I was using $this->Model->Validates() and $this->Model->Save() which validates as well. When I removed the Validates() and left just the save() everything works. Serves me right for trying to validate twice. thanks. Link to comment https://forums.phpfreaks.com/topic/275923-cakephp-validation/#findComment-1419852 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.