【发布时间】:2017-10-10 12:27:17
【问题描述】:
验证不起作用。所有的表单域都是动态的。这取决于用户他选择了多少个字段。如果他选择 2,它将在视图中显示 2 个字段。如果选择 3 那么它将显示 3 个字段,依此类推。我有超过 30 个字段
我在表单验证页面中设置了 3 个数组(出于测试目的,我只设置了 3 个。这将是字段总数)。如果我删除最后一个数组,则验证工作正常,因为我在视图中只获得了 2 个字段。我无法在表单验证页面中使用超过 2 个数组。
是否强制要求视图中的字段数等于表单验证中的一组规则数组?
查看
这是我的动态视图页面
<?php
echo form_open('formbuilder_control/enxample_from_view');
foreach ($data as $key) {// I am getting output
$exp_fields_name=$key->fields_name;
$exp_fields_type=$key->fields_type;
$exp_form_elements=$key->form_elements;
$abc=explode(',',$exp_form_elements);
foreach ($abc as $value) {
if ($exp_fields_name == $value) {?>
<div class="form-group row label-capitals">
<label class="col-sm-5 col-form-label"><?php echo $exp_fields_name;?></label>
<div class="col-sm-7">
<input type="<?php echo $exp_fields_type;?>" name="<?php echo $exp_fields_name;?>" placeholder="<?php echo $value;?>" class="form-control" />
<?php echo form_error($exp_fields_name); ?>
</div>
</div>
<?php
}}}?>
<div class="form-buttons-w btn_strip">
<input type="submit" name="submit" value="Save" class="btn btn-primary margin-10">
</div>
<?php echo form_close(); ?>
Form_validation.php
$config = array(
'test'=>array(
array('field' =>'firstname',
'label' => 'First Name',
'rules' => 'required'
),
array('field' => 'lastname',
'label' => 'lastname',
'rules' => 'required'
),
array('field' => 'middlename',
'label' => 'middlename',
'rules' => 'required'
)
),
);
控制器
public function test()
{
if($this->form_validation->run('test') == TRUE)
{
echo "working";
}
$this->load->view('test1');
}
【问题讨论】:
-
请分享不赞成票的原因,以便我将来改进
-
为什么要保留三个验证规则,而表单没有三个字段?
-
@HimanshuUpadhyay,对
-
我有两个表格。在第一种形式中,字段是名字、姓氏、中间名。在第二种形式中,字段是名字和姓氏。我只需要使用一组规则。
-
为什么要保留三个验证规则,而表单没有三个字段?
标签: php codeigniter validation codeigniter-3