2010-01-18 52 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

我认为它给了用户一些时间回答问题的动力。 –

回答