[英]Codeigniter set_value() With Dynamic Multidimensional Array Inputs
好的,我正在生成一个表单,该表单已预先填充了数据库中的现有值:
视图:
<tr>
<td><input name="set[<?php echo $cur_set['id']; ?>][order]" value="<?php echo $cur_set['wo_order']; ?>">
<input type="hidden" name="set[<?php echo $cur_set['id']; ?>][ex_id]" value="<?php echo $cur_set['ex_id']; ?>"></td>
<td><input name="set[<?php echo $cur_set['id']; ?>][weight]" value="<?php echo $cur_set['weight']; ?>"></td>
<td><input name="set[<?php echo $cur_set['id']; ?>][reps]" value="<?php echo $cur_set['reps']; ?>"></td>
</tr>
输出示例:
<tr>
<td><input name="set[3][order]" value="1">
<input type="hidden" name="set[3][ex_id]" value="1"></td>
<td><input name="set[3][weight]" value="50.00"></td>
<td><input name="set[3][reps]" value="5"></td>
</tr>
因此,我有一定范围的这些<tr>
每个都可以有一个唯一的'id',但是它们都有相同数量的辅助索引[order], [ex_id], [weight]
和[reps]
。
我无法弄清楚两件事:
如何在表单上设置验证规则。 我努力了:
$this->form_validation->set_rules('set[][order]', 'Sets', 'required');
但是它似乎无法工作,因为找不到set[][order]
...我可以在其中放一些通配符吗? 喜欢set[*][order]
吗?
提前致谢。
乔恩
在控制器中,您在其中获取数据并将其存储在变量中(我将其称为$ data),请执行以下操作:
$data = $this->MODEL_NAME->METHOD_NAME();
foreach($data as $set){
$this->form_validation->set_rules("set[{$set['id']}][order]");
$this->form_validation->set_rules("set[{$set['id']}][weight]");
etc...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.