【发布时间】:2012-01-17 14:52:32
【问题描述】:
我需要创建一个具有相同字段组的表单(数据来自数据库)
例如:
Group 1: Description field, Amount field, Others fields
Group 2: Description field, Amount field, Others fields
Group 3: Description field, Amount field, Others fields
所以在我看来,我循环了数据库值:
$i = 0;
foreach ($data_from_db as $data) {
$description = array(
'name' => 'description[]',
'id' => 'description_field['.$i.']',
'value' => set_value('description[]', $data->description)
);
echo form_label(lang('reward_description'), 'description_field['.$i.']');
echo form_textarea($description);
echo form_error('description[]');
// more fields generated here in similar ways
$i++
}
在我的控制器中,我有:
$this->form_validation->set_rules('description[]', 'lang:project_edit_description', 'required');
// more similar rules here
根据Codeigniter documentation,这是正确的方法,但它不能正常工作。
Codeigniter 对验证消息感到困惑。
例如,如果我有意将描述字段之一 空 并提交表单,我会在所有组中收到验证错误消息(我收到“描述字段是必需的”也适用于第 1、2 和 3 组)
【问题讨论】:
-
你的意思是当这一行的描述字段之一为空时
$reward->description? -
不,我提交后验证错误,与线路无关。
-
好吧,你已经完全自相矛盾了。您希望该字段是必需的,但您允许描述包含空值??
-
我不知道,这就是为什么我想获得该字段的验证消息但我收到两条验证消息而不是一条。循环中的每个字段一个。
-
您应该解释您想要发生什么,以及当前正在发生什么 - 包括错误消息。
标签: php codeigniter