在codeigniter中进行多维输入数组检查

时间:2013-10-09 14:51:58

标签: php codeigniter validation codeigniter-form-helper

目前我的数据必须包含1个标题和1个内容,以及随机数(或无)链接组(链接文本和链接),(因为它是动态生成的)例如。 LinkText1,Link1,LinkText2,Link2 ....等等。因此,一个示例数据是:

title:"abc"
content:"test"
linktext1:"yahoo"
link1:"http://yahoo.com"

我的表格是

<input type="text" name="linktext[]">
<input type="text" name="link[]">

问题是, 只是

$this->form_validation->set_rules('linkTxt[]', '連結標題', 'required');
$this->form_validation->set_rules('link[]', '連結地址', 'required');

无效

我想如果linkTxt [0]或link [0](或任何一对)存在,请检查相应的对。如果它们都不存在(用户可以选择不插入任何链接)(然后没有检查要求)谢谢

1 个答案:

答案 0 :(得分:1)

尝试:

if(set_value('linkTxt') or set_value('link') ){
$this->form_validation->set_rules('linkTxt[]', '連結標題', 'required');
$this->form_validation->set_rules('link[]', '連結地址', 'required');
}

基本上,如果没有值,Set_value('input_field')将返回false。 (我不是100%确定这是否适用于数组输入,否则请尝试

$this->input->post('linkTxt[]')

如果stil不起作用,可能会坚持使用forloop并测试每个linkTxt的值。