2016-01-13 65 views
0

我有一個視圖包含一個表單,並且在點擊保存按鈕時,我希望它返回到視圖頁面以顯示錯誤消息,如果需要一個字段但用戶不提供。在CodeIgniter中重定向驗證錯誤消息

我應該怎麼做呢? 表單頁面看起來像這樣'backendProduct/edit_product?item_id=11');

控制器(product.php

public function save_product(){ 

     $this->load->helper('form'); 
     $this->load->library('form_validation'); 

     $this->form_validation->set_rules('information', 'Information', 'required'); 
     $this->form_validation->set_rules('item_id', 'Item_id', 'required'); 

     if($this->form_validation->run() === FALSE) 
     { 
      $this->load->view('layout/header'); 
      $data['item_id']= $this->input->post('item_id'); 
      $this->load->view('product/edit_product', $data); 
     } 
     else 
     { 
      $item_id = $this->input->post('item_id'); 
      $category_id = $this->input->post('category_id'); 
      header('Location: '.base_url().'edit_product?cate_code='.$category_id.'&item_id='.$item_id); 
     } 
    } 

視圖(product_form.php

<?php echo form_open('backendProduct/save_product'); ?> 
     <div class="row" ng-app="appcolor"> 
       <div class="col-md-8"> 
        <div class="tabbable"> 
         <ul class="nav nav-tabs"> 
          <li class="active"><a href="#product_info" data-toggle="tab"><?php echo lang('details');?></a></li> 
          <?php //if there aren't any files uploaded don't offer the client the tab 
          if (count($file_list) > 0):?> 
          <li><a href="#product_downloads" data-toggle="tab"><?php echo lang('digital_content');?></a></li> 
          <?php endif;?> 
          <li><a href="#product_specification" data-toggle="tab">Specification</a></li> 
          <li><a href="#product_categories" data-toggle="tab"><?php echo lang('categories');?></a></li> 
          <li><a href="#ProductOptions" data-toggle="tab"><?php echo lang('options');?></a></li> 
          <li><a href="#product_related" data-toggle="tab"><?php echo lang('related_products');?></a></li> 
          <li><a href="#product_photos" data-toggle="tab"><?php echo lang('images');?></a></li> 
         </ul> 
        </div> 
<button type="submit" class="btn btn-primary">Save</button> 

     </div> 

    </div> 
+0

爲什麼你需要url中的item_id? – msvairam

+0

這是一個更新表單。因此,應該在該頁面中顯示錯誤消息,並在表單中填入所選項目的詳細信息。 –

+0

刪除$ this-> load-> view('layout/header');和重定向('product/edit_product?item ='。$ this-> input-> post('item_id')); – msvairam

回答

0

您需要使用VALIDATION_ERRORS功能可按打印錯誤和需要傳遞的網址查看使用數據變量。示例 if(validation_errors()){

  $data['error'] = validation_errors() ;; 
     } else { 
          $data['error'] = ''; 
     }