【发布时间】:2014-08-04 07:01:49
【问题描述】:
我正在尝试将表单输入的值传递给控制器进行验证。这些值使用数组填充到视图中。问题是我不知道如何从数组中为各个输入获取必要的“名称”值,以便通过验证。
在第一个视图中,表单输入是这样描述的:
<?php echo form_checkbox('study_items[]', 'Medical History', FALSE);
echo form_label('Medical History', 'Medical History');?>
<br>
<?php echo form_checkbox('study_items[]', 'Physical Exam', FALSE);
echo form_label('Physical Exam', 'Physical Exam');?>
<br>
<?php echo form_checkbox('study_items[]', 'Clinical Assessment', FALSE);
echo form_label('Clinical Assessment', 'Clinical Assessment');?>
用户只需检查适用于其特定需求的项目。这被提交给验证控制器,在成功验证后,仅将那些被选中的项目发送回数组中的视图,如下所示:
$data['si_items'] = $this->input->post('study_items');
在下一个视图中,示例输入的代码如下所示:
<?php foreach ($si_items as $si_item) {
echo $si_item. ' '. "$";
$data001 = array(
'name' => $si_item,
'id' => $si_item,
'value' => '',
'maxlength' => '10',
'size' => '50',
'style' => 'width:100px',
);
echo form_input($data001);
echo '<br>';
}
?>
并允许用户输入他们选择的项目的美元金额以满足他们在前一页上的需要。
这部分代码的示例输出如下所示:
“病史 $_______________” “体检 $_______________” “临床评估 $_______________”
其中空白是用于输入每件商品价格的文本框。到目前为止,这一切都完美地显示了用户在前一个视图中检查的每个表单输入框和标签。
但是,我不知道如何获取每个单独输入的“名称”以对其进行验证。验证控制器不将“$si_items”识别为名称值。这让我很困惑,必须有办法做到这一点。
在我的验证控制器中,我想检查每个条目是否有一个十进制值(即 234.56)作为用户的输入。
有什么想法吗?有没有更有效的方法来做到这一点?
【问题讨论】:
标签: php arrays forms codeigniter validation