Php 在codeigniter中,我对多个输入使用相同的名称(type=";text";),在提交过程中,我希望至少允许一个值,如何验证?

Php 在codeigniter中,我对多个输入使用相同的名称(type=";text";),在提交过程中,我希望至少允许一个值,如何验证?,php,codeigniter,codeigniter-2,codeigniter-3,Php,Codeigniter,Codeigniter 2,Codeigniter 3,我的代码片段: <div class="col-sm-2"> <label>Weight</label> <?php for($i=0;$i<4;$i++){ ?> <input type="text" placeholder="Weight" name="weight[]" id="weight_<?php echo $i; ?>" class="form-control weight_cls"

我的代码片段:

<div class="col-sm-2">
    <label>Weight</label>
    <?php for($i=0;$i<4;$i++){ ?>
      <input type="text" placeholder="Weight" name="weight[]" id="weight_<?php echo $i; ?>" class="form-control weight_cls" />
    <?php } ?>
    <div class="err"><?php echo form_error('weight[]'); ?></div>
</div>
然后它将不允许,直到填充所有字段


我想至少允许一个。。如何获取输入表单

$weight    = $this->input->post('weight'); //or get as your form
$weight是一个数组,因此可以使用foreach循环验证每个元素,如下所示:

foreach($weight as $key=>$val) 
{
    $this->form_validation->set_rules("weight[".$key."]", "weight", 'required|numeric');
   // you can have one more row as per your requirement.  
}

获取输入表单

$weight    = $this->input->post('weight'); //or get as your form
$weight是一个数组,因此可以使用foreach循环验证每个元素,如下所示:

foreach($weight as $key=>$val) 
{
    $this->form_validation->set_rules("weight[".$key."]", "weight", 'required|numeric');
   // you can have one more row as per your requirement.  
}

创建自己的验证方法:

$this->form_validation->set_rules('weight[]', 'Weight', 'callback_weight_check');
在同一控制器中:

public function weight_check($weight)
{
     if(count(array_filter($weight)) == 0) {
         $this->form_validation->set_message('weight_check', 'Fill at least one value');
         return false;
     }

     return true;
}

更多信息:

创建自己的验证方法:

$this->form_validation->set_rules('weight[]', 'Weight', 'callback_weight_check');
在同一控制器中:

public function weight_check($weight)
{
     if(count(array_filter($weight)) == 0) {
         $this->form_validation->set_message('weight_check', 'Fill at least one value');
         return false;
     }

     return true;
}

更多信息:

不要使用CodeIgniter表单验证,而是编写自己的规则。类似于
if(count($this->input->post('weight'))==0){//error}
但需要对其他字段进行codeigniter验证。。那么我该怎么做呢?将您的规则放在CodeIgniter表单验证规则之后不要使用CodeIgniter表单验证,而是编写您自己的规则。类似于
if(count($this->input->post('weight'))==0){//error}
但需要对其他字段进行codeigniter验证。。那我该怎么做呢?把你的规则放在CodeIgniter表单验证规则后面,用if语句加上一个括号。。否则,请在if语句中加上一个括号。。否则工作罚款