我正在构建一个预订系统,用户首先选择多少人,然后根据该选择,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输入的名称。
我在这里做错了什么?
答案 0 :(得分:1)
只需手动执行
$errors = "";
foreach($name as $n){
if(!$n){
$errors .= "Please fill in all names fields";
}
}