我对代码点火器的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版本,这是最新的稳定版本.
最佳答案 看起来你正在使用错误的库.不推荐使用验证库.请尝试使用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" );
}