2010-01-18 85 views
0

我創建了一個「回調」函數來檢查用戶名是否存在於數據庫中。 我有「用戶名」字段的多個規則,但唯一的工作是我的回調函數。它拒絕檢查其他規則。我試圖讓該字段爲空,而 「必需的」 規則從來沒有踢使用自定義回調函數進行表單驗證

控制器:

account.php

function register() { 
    $this->load->library('validation'); 

    $fields['username'] = "trim|required|callback_username_check"; 
    etc ... 
    etc ... 

    $this->validation->set_rules($fields); 

    if ($this->validation->run()) { 

     $records = array(); 
     $records['username'] = $this->validation->username; 
     etc ... 
     etc ... 

     $data = $this->account_model->registerNewAccount($records);  
    } 
    $this->load->view('register_view'); 
} 

function username_check($username) { 
    $m = new Mongo(); 
    $collection = $m->selectDB(DBNAME)->selectCollection(TABLE); 

    $data = $collection->count(array("username" => $username)); 

    if($data == 1) { 
     $this->validation->set_message('username_check', '%s is already taken!'); 
     return false; 
    } else { 
     return true; 
    }  
} 
+0

我想知道那是什麼!此外,我的一些問題沒有得到很好的答案。此外,從什麼時候開始變成一場人氣比賽呢? – luckytaxi

+0

我認爲它給了用戶一些時間回答問題的動力。 –

回答