查看
<div class="box-body">
<div class="form-group">
<label for="FNAME" class="col-sm-2 control-label col-sm-offset-2"> <span>*</span>First Name:</label>
<div class="col-sm-5">
<input type="text" class="form-control" id="FNAME" name="FNAME">
</div>
</div>
<div class="form-group has-error col-sm-offset-7">
<label class="control-label" for="error"><?php echo form_error("FNAME"); ?></label>
</div>
</div>
控制器
public function create_id() {
$this->form_validation->set_rules('FNAME', 'First Name' ,'trim|required|max_length[30]');
$this->form_validation->set_rules('MNAME', 'Middle Name' ,'trim|max_length[30]');
$this->form_validation->set_rules('SURNAME', 'Last Name' ,'trim|required|max_length[30]');
if($this->form_validation->run($this) == FALSE) {
$this->add_view();
} else {
if($query = $this->Employees_Model->insert()) {
$this->autoid();
redirect('Employees/index');
} else {
$this->add_view();
}
}
}
我想要的是if($this->form_validation->run($this) == FALSE){
,因为您会看到它会重定向回到视图。 $this->add_view();
我想要的只是当它重定向回来时,我输入的数据将保留。所以当验证失败时我不会再输入它。
答案 0 :(得分:1)
根据CodeIgniter文档,您需要稍微改变视图文件,在输入<?= set_value("FNAME"); ?>
中使用element _value_ parameter
打印这些输入元素值。所以你的
<input type="text" class="form-control" id="FNAME" name="FNAME">
会变成
<input type="text" class="form-control" id="FNAME" name="FNAME" value="<?= set_value("FNAME"); ?>">
等等。这样,您将告诉CodeIgniter在发生错误后重新填充表单。
答案 1 :(得分:0)
答案 2 :(得分:0)
获取这样的发布值
public function create_id() {
$this->form_validation->set_rules('FNAME', 'First Name' ,'trim|required|max_length[30]');
$this->form_validation->set_rules('MNAME', 'Middle Name' ,'trim|max_length[30]');
$this->form_validation->set_rules('SURNAME', 'Last Name' ,'trim|required|max_length[30]');
$data = array(
'FNAME' => $this->input->post('FNAME'),
'MNAME' => $this->input->post('MNAME'),
'SURNAME' => $this->input->post('SURNAME')
);
if($this->form_validation->run($this) == FALSE) {
$this->add_view($data);
} else {
if($query = $this->Employees_Model->insert()) {
$this->autoid();
redirect('Employees/index');
} else {
$this->add_view();
}
}
}
在您的功能中
function add_view($data){
.............................
.............................
$this->data['values'] = $data;
.............................
.............................
}
然后
<div class="box-body">
<div class="form-group">
<label for="FNAME" class="col-sm-2 control-label col-sm-offset-2"><span>*</span>First Name:</label>
<div class="col-sm-5">
<input type="text" class="form-control" id="FNAME" name="FNAME" value="<?= $values['FNAME'] ?>">
</div>
</div>
<div class="form-group has-error col-sm-offset-7">
<label class="control-label" for="error"><?php echo form_error("FNAME"); ?></label>
</div>
</div>