2011-03-13 31 views
0

我收到多個錯誤,這些錯誤列在我的代碼下面。還有一個mysql錯誤,但我明白由於零件數組null值的錯誤。我不知道爲什麼我收到這些錯誤。有人可以解釋一個修復也。帶有多個參數的codeigniter表單驗證回調函數問題:未定義偏移量:1

線106:$this->db->where($parts[1], $value);

代碼:

$this->form_validation->set_rules('alias','alias_exist','trim|xss_clean|callback_alias_exist_check[livestock.alias]'); 

    function alias_exist_check($value, $str) 
    { 

     $parts = explode('.', $str);  
     $this->db->from($parts[0]); 
     $this->db->where($parts[1], $value); 
     $result = $this->db->get(); 

     echo $this->db->last_query(); 
     //return ($row->count > 0) ? FALSE : TRUE; 
     //echo $table . ' ' . $column; 
    } 

錯誤:遇到

甲PHP錯誤

嚴重性:注意

消息:未定義偏移:1

文件名:控制器/ validate_livestock.php

行號:106

甲PHP錯誤遇到

嚴重性:警告

消息:無法修改標題信息 - 頭已經發出(輸出開始於/home/dickschi/public_html/lsms/system/libraries/Exceptions.php:166)

Filename:codeigniter/Common.php

行號:356

謝謝你,
豐富

+0

什麼是傳遞到回調的$ str的價值?它顯然沒有「。」在裏面。 – 2011-03-14 05:59:55

+0

[animals.alias]的目的是什麼? – 2011-03-14 08:46:01

+0

家畜是表和別名是列。這些是用於數據庫sql字符串的值。 – dottedquad 2011-03-15 02:23:04

回答

1

你嘗試應用這個補丁?

https://bitbucket.org/ellislab/codeigniter/issue/139/validation-callback-parameter-does-not

這是文件

/system/libraries/Form_validation.php

其中包含的類CI_Form_validation補丁。 在該方法中_execute()線491,更換線路

if (preg_match("/(callback_\w+)/", implode(' ', $rules), $match)) 

通過

if (preg_match("/(callback_[\[\]\w]+)/", implode(' ', $rules), $match)) 

讓我知道,如果不工作。

+0

不,我沒有申請那個補丁。我正在使用CI 2.0。我如何應用此修補程序? – dottedquad 2011-03-15 02:21:30

+0

編輯我的回答:-) – 2011-03-15 07:43:10

+0

感謝Réjôme經歷瞭解釋的麻煩。我很感激幫助。我最近剛剛更新到2.0沒有意識到這個問題是與我的jQuery AJAX數據。我將該值設置爲不存在的元素。這個補丁會修復「元素不存在」的問題嗎? – dottedquad 2011-03-16 07:29:48

1

爲什麼你需要將列名和表傳遞給函數?你不能這樣做:

function alias_exist_check($value, $str) 
{ 
    $this->db->from('livestock'); 
    $this->db->where('alias', $value); 
    $result = $this->db->get(); 

    echo $this->db->last_query(); 
    //return ($row->count > 0) ? FALSE : TRUE; 
    //echo $table . ' ' . $column; 
} 
+0

我想用函數重用我的代碼的方便 – dottedquad 2011-03-16 07:27:47

+0

是的,但是你會使用一個稱爲alias_exist_check的函數來檢查別名嗎? – danneth 2011-03-16 07:54:56

+0

你是100%正確的。然而,我正在將sql「東西」移動到模態目錄中,我只是希望重用未來代碼的便利性,因爲我相信我會檢查別名以外的東西是否存在。 – dottedquad 2011-03-17 19:54:13