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语句中加上一个括号。。否则工作罚款