所使用的框架是CodeIgniter 2.0.2。我有一个表单,其中包含一组与数据库中行对应的字段。这些字段的名称格式如下:
opt[0][foo]
opt[0][bar]
opt[1][foo]
opt[1][bar]
etc...
索引(1、2等)与数据库中的行ID不对应,它只是一种将字段组分隔开的方式。由于用户可以添加和删除任意数量的字段组,因此索引中可能存在间隙。所有的组都是相同的,也就是说,它们包含完全相同的字段集合,具有相同的第二级名称。
我希望能够使用CodeIgniter的验证库来验证表单,并根据需要进行预填充。除了优秀的CI用户指南外,我还找到了很多文章,知道如何使其在一般情况下重新填充。然而,这是我第一次尝试使用上述索引字段名称进行重填充。我尝试以下代码,但它无法工作:
array(
'field' => 'opt[][foo]',
'label' => 'Foo',
'rules' => 'required'
)
我猜我期望过高了,CodeIgniter不支持我需要的功能。扩展现有的表单验证库是一个选项,如果有人遇到相同的情况并能提供一些提示,那将非常受欢迎。
更新:
额外提供一点信息,我也尝试验证特定索引字段(见下文),但也没有成功...据我所知,多维验证在特定情况下应该是有效的:
array(
'field' => 'opt[0][foo]',
'label' => 'Foo',
'rules' => 'required'
)
test[0][test2]
,因为那是我的返回数据格式。正如我在更新中所说的那样,那个格式对我没用。 - Endophage