保存时,如何修复“设置”方法以更新条目。在控制器上添加表单验证后

时间:2018-10-01 09:08:15

标签: php mysql codeigniter

在我的控制器中添加表单验证后

public function save($id_kecamatan='')
    {
    $this->form_validation->set_rules('nama_kecamatan','nama_kecamatan', 'required');
        if ($this->form_validation->run() != FALSE){
            $data = [
                'nama_kecamatan' => $this->input->post('nama_kecamatan')
            ];
        }
        $simpan = $this->KecamatanModel->saveKecamatan($data);
        redirect('admin/kecamatan/add');
    }

这是我的模型,在$ this-> db-> insert

行中
public function saveKecamatan($data)
    {
        $this->db->insert('tbl_kecamatan', $data);
        $id_kecamatan = $this->db->insert_id();
        return true;
    }

出现我的视图时,必须使用“设置”方法来更新条目。

<?= validation_errors(); ?>
<form action="<?= site_url('admin/kecamatan/save');?>" method="POST">
    <div class="box-body">
     <div class="form-group">
      <label class="control-label">Kecamatan</label>
      <input type="text" class="form-control" name="nama_kecamatan" id="" placeholder="Nama Kecamatan">
    </div>
    <div class="form-actions">
      <input type="hidden" name="id_kecamatan" value="">
      <button type="submit" class="btn btn-success"><i class="fa fa-check"></i> Simpan</button>
      <a href="<?= site_url('admin/kecamatan');?>" class="btn btn-default"><i class="fa fa-undo"></i> Batal</a>
    </div>
  </form>

1 个答案:

答案 0 :(得分:0)

验证是无用的,因为它不会阻止将空值传递给
$this->db->insert('tbl_kecamatan', $data)

尝试通过将$simpan变量上移一行来防止空值:

public function save($id_kecamatan='')
{
    $this->form_validation->set_rules('nama_kecamatan','nama_kecamatan', 'required');
    if ($this->form_validation->run() != FALSE){
        $data = [
            'nama_kecamatan' => $this->input->post('nama_kecamatan')
        ];
        $simpan = $this->KecamatanModel->saveKecamatan($data);
    }
    redirect('admin/kecamatan/add');
}