Codeigniter如何验证同名的多个文本输入数组?

时间:2011-09-16 09:17:51

标签: forms validation codeigniter

我正在构建一个预订系统,用户首先选择多少人,然后根据该选择,ajax将填充相应数量的文本输入字段以获取客人的姓名。

所以我的精简文本输入结构是这样的:

<input type="text" name="name[]" value="<?php echo set_value('name[]');?>"/>
<input type="text" name="name[]" value="<?php echo set_value('name[]');?>"/>
<input type="text" name="name[]" value="<?php echo set_value('name[]');?>"/>

在我的控制器上,验证功能如下:

$this->load->library('form_validation');   
$this->form_validation->set_rules('name[]', 'Name', 'required|xss_clean');

因此,无法正常工作的是提交,如果我只在输入1上输入了名称,则在经过验证的页面上,每个输入都会显示错误,同时每个输入都会有相同的我为输入#1输入的名称。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

只需手动执行

$errors = "";
foreach($name as $n){
    if(!$n){
        $errors .= "Please fill in all names fields";
    }
}