在我的控制器中添加表单验证后
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>
答案 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');
}