我遇到了代码点火器的form_validation模块的奇怪问题。我正在尝试从表单帖子验证多维数组,但它没有按预期工作。我用标准表格贴了一百次(夸张),所以我很熟悉它。
我的表单帖子看起来像这样
Array
(
[location_edit_id] =>
[theImage] =>
[thePDF] =>
[loc] => Array
(
[name] =>
[content_1] =>
[content_2] =>
[opening_hours] =>
[seats] =>
)
[ad] => Array
(
[address_1] =>
[address_2] =>
[address_3] =>
[town_city] =>
[county_id] =>
[region_id] =>
[postcode] =>
[telephone] =>
[email] =>
)
)
根据docs - 如果我想验证$ _POST ['loc'] ['name']
,我的控制器中的动作需要如下所示$this->validation->set_rules( 'loc[name]', 'Location Name', 'required');
if ($this->validation->run() == FALSE)
{
die( "did not validate" );
}
else
{
die( "validated" );
}
无论我做什么,即使$ _POST ['loc'] ['name']为空,也始终有效。我已经检查了库文件库/ Validation.php,我无法看到它实际可以工作的任何地方(因为它总是只是寻找变量名匹配 - 而不是数组),所以我不知道最新情况如何。
编辑:我正在使用Code igniter 1.7.2版本,这是最新的稳定版本。答案 0 :(得分:2)
看起来你正在使用错误的库。不推荐使用验证库。请尝试使用Form_validation(libraries / form_validation.php)。
$this->load->library('form_validation');
$this->form_validation->set_rules( 'loc[name]', 'Location Name', 'required');
if ($this->form_validation->run() == FALSE)
{
die( "did not validate" );
}
else
{
die( "validated" );
}
答案 1 :(得分:0)
我不确定最新的CI版本,但是在1.6天内这是不可能的..您使用的是什么版本的CI?
我曾经使用过这个