【发布时间】:2011-02-23 09:57:51
【问题描述】:
我正在编写一个系统,用户可以在其中根据 4 个下拉列表的值按需生成/运行查询。这些列表是根据许多因素动态生成的,但是在这一点上,我在使用 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();?>
然后在我的控制器中,我有以下两种方法:
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.
作为所有内容的错误消息。我认为我的问题是我将 $rules 和 $fields 的东西放在了错误的位置,但是我尝试了一些排列,但我一直弄错了。我希望我能得到一些关于放置东西的正确位置的建议。
【问题讨论】:
标签: php validation codeigniter