2011-04-04 82 views
1

我已經爲配置文件中的不同頁面設置了各種驗證規則。並在一個頁面中,我想檢查用戶名是否存在。有沒有可能在配置文件本身創建一個驗證規則?但我創建了檢查模型的函數。我想知道是否無法在配置文件中調用該模型中的回調函數?在配置文件的模型中設置回調函數

我已閱讀文章。 在那篇文章中就規定,我們將不得不調用類的驗證規則:

$this->form_validation->run($this); 

,並通過在配置文件中設置驗證規則,我們將不得不調用的功能等:

$this->form_validation->run('name of rule in config file'); 

我該如何加入這兩個?

回答

1

設置通過回調進行驗證的規則僅使用字符串完成。從該鏈接:

$this->validation->set_rules(array(
     'username' => 'trim|required|callback_users_model->is_unique[username]', 
     'password' => 'trim|required|matches[confirm]', 
    )); 

你可以看到,回調方法設置使用字符串

callback_users_model->is_unique[username]

,你只使用一個字符串

$rule = 'callback_' . $model_class . '->' $function_name . '[username]';

現在你可以只需從你的配置中加載$ model_class和$ function_name就像往常一樣:

$model_class = $this->config->item('validation.model.class'); 
$function_name = $this->config->item('validation.method'); 
+0

我編輯了form_validation庫以適應我的需要。現在它的工作 – 2011-04-05 06:57:11