我在使用 code igniter 的 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']
,我的 Controller 中的操作需要看起来像这样$this->validation->set_rules( 'loc[name]', 'Location Name', 'required');
if ($this->validation->run() == FALSE)
{
die( "did not validate" );
}
else
{
die( "validated" );
}
无论我做什么,即使 $_POST['loc']['name'] 为空,它也始终有效。我已经检查了库文件 libraries/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" );
}
关于php - 使用 form_validation 库在 Code Igniter 中验证多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1498505/