2013-05-14 97 views
0

我設法從數據庫檢索用戶數據並填充表單以供將來更新。隨着我的看法和數據加載在字段上,我有一個更新按鈕,調用我的控制器進行驗證。顯然,form_validation-> run()返回false。 下面是我的看法,我做同樣的姓和名:使用Codeigniter更新帶填充表單的數據庫

// 
     //EMAIL 
     // 
     $data_email= array('name' => 'email', 
          'placeholder' => '', 
          'value' => $account->email, 
          'class' => 'span12', 
          'rules' => 'required', 
          'style'=> 'font-size:18px;'); 
     $email = array('class' => '', 
         'style' => 'font-weight:bold;'); 

     echo form_label('Email: ','email', $email);    
     echo form_input($data_email); 
     // 
     //END OF EMAIL 
     // 

下面是我的控制器

$this->form_validation->set_rules('fname', 'First Name', 'required|trim|xss_clean'); 
    $this->form_validation->set_rules('lname', 'Last Name', 'required|trim|xss_clean'); 
    $this->form_validation->set_rules('email', 'Email','required|trim|xss_clean|valid_email|is_unique[accounts.email]|is_unique[temp_accounts.email]'); 

在這一點上form_validation->運行()返回一個錯誤,無法驗證來自表單的數據。任何建議將非常感激。

+0

你是否縮小了哪個規則失敗驗證? – 2013-05-14 08:51:46

+0

我還沒有找到哪個規則導致它。 – 2013-05-14 19:30:13

+0

因此,您沒有考慮逐個刪除規則以查看哪個字段和哪個規則導致驗證失敗?在你要求我們幫助我們最終告訴你做同樣的事情之前,這將是最明顯的事情。請先嚐試調試。 – 2013-05-15 04:00:05

回答

0

我不確定,因爲描述不是很清楚,但是您可以嘗試從驗證規則中移除is_unique規則嗎?

我猜你的代碼正在檢查這封電子郵件是否已經在帳戶表中,如果這個視圖是從你的數據庫中填充的話。

+0

我也這麼想過,但如果用戶更新他的電子郵件,你會如何評估電子郵件是否存在? – 2013-05-14 19:31:54

+0

那麼,我會做一個手動檢查,如果這個電子郵件地址已經存在於數據庫而不是形式驗證方法。你能否嘗試檢查它是否在沒有形式驗證器部分的情況下工作? – 2013-05-15 08:33:56

+0

我會嘗試,實際上我認爲那會奏效。謝謝。 – 2013-05-15 17:56:27

相關問題