我正在編寫一個系統,用戶可以根據需要根據4個下拉列表的值生成/運行查詢。這些列表是基於多種因素動態生成的,但是在這一點上,我遇到了使用codeigniter的內置驗證類驗證輸入的問題。我認爲我的東西不按順序,我試着看着codeigniter網站,但我想我正在絆倒自己。Codeigniter驗證幫助
在我的視圖(/dashboard/dashboard_index.php),我有以下代碼塊:
<?=form_open('dashboard/dashboard_add');?>
<select ... name='selMetric'>
<select ... name='selPeriod'>
<select ... name='selSpan'>
<select ... name='selTactic'>
<input type="submit" name="submit_new_query" value="Add New Graph" class="minbutton" ></input>
<?=form_close();?>
在我的控制器
然後,我有以下2種方法:
function index() {
$this->load->helper(array('form', 'url'));
$this->load->library('validation');
//population of $data
$this->load->tile('dashboard/dashboard_index', $data);
}
function dashboard_add()
{
$rules['selMetric'] = "callback_sel_check";
$rules['selPeriod'] = "callback_sel_check";
$rules['selSpan'] = "callback_sel_check";
$rules['selTactic'] = "callback_sel_check";
$this->validation->set_rules($rules);
$fields['selMetric'] = "Metric";
$fields['selPeriod'] = "Time Period";
$fields['selSpan'] = "Time Span";
$fields['selTactic'] = "Tactic";
$this->validation->set_fields($fields);
if ($this->validation->run() == false) {
$this->index();
}
else {
//do stuff with validation information
}
}
這裏的我的問題。我能得到的東西正確驗證,但我有錯誤的數量,我得到
Unable to access an error message corresponding to your field name.
爲一切的錯誤消息。我認爲我的問題是我有錯誤的地方的$規則和$字段的東西,但我已經嘗試了一些排列,我只是不斷弄錯。我希望能得到一些關於正確放置東西的建議。
這正是我所錯過的。謝謝。我會使用form_validation,但是我繼承的站點在整個站點都有舊的驗證類,並且它是這個簡單修復的一個重要任務。不過,我會記住下一個新網站。 – 2010-05-25 13:32:08
@德魯:我覺得提及更新的驗證庫並不會有什麼壞處。很高興聽到這解決了你的問題! – 2010-05-25 14:01:48