Как сделать, чтобы is_unique в форме редактирования работал, только когда значение входного текста было изменено и не работает, когда оно все еще было старым значением? - PullRequest
0 голосов
/ 28 января 2020

Я использую проверку формы для проверки моего проекта, и у меня есть некоторые проблемы с is_unique при редактировании моих данных ... как make is_unique работает только тогда, когда значение ввода изменяется только на новое значение, а не работает, когда значение по-прежнему старое значение?

Вот мой контроллер:

public function edit_idk1()
    {
        $this->load->model('Pembelian_idk1_model', 'pembelian_idk1');
        $data['title'] = 'EDIT PEMBELIAN IDK1';
        $data['user'] = $this->db->get_where('user', ['email' => $this->session->userdata('email')])->row_array();
        $data['jenismobil'] = $this->pembelian_idk1->get_jenismobil();
        $id = $this->uri->segment(3);
        $data['idk1'] = $this->db->get_where('pembelian_idk1', ['id' => $id, 'is_jual' => 0])->result_array();

        $this->form_validation->set_rules('no_bukti', 'No_bukti', 'required');
        $this->form_validation->set_rules('tgl_masuk', 'Tgl_masuk', 'required');
        $this->form_validation->set_rules('jenismobil', 'Jenismobil', 'required');
        $this->form_validation->set_rules('warna', 'Warna', 'required');
        $this->form_validation->set_rules('no_rangka', 'No_rangka', 'required|max_length[17]|is_unique[pembelian_idk1.no_rangka]',
        array(
                'is_unique'     => 'Nomor Rangka Sudah Ada!!!'
        ));
        $this->form_validation->set_rules('no_mesin', 'No_mesin', 'required|max_length[13]|is_unique[pembelian_idk1.no_mesin]',
        array(
                'is_unique'     => 'Nomor Mesin Sudah Ada!!!'
        ));

        if($this->form_validation->run() == false) {
            $this->load->view('templates/header', $data);
            $this->load->view('templates/sidebar', $data);
            $this->load->view('templates/topbar', $data);
            $this->load->view('pembelian/idk1/edit_idk1', $data);
            $this->load->view('templates/footer');
        } else {
            $this->pembelian_idk1->update_data_idk1();
            $this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">
                    Data berhasil diUpdate</div>');
            redirect('pembelian/idk1');
        }
    }

Вот моя модель

public function update_data_idk3()
    {   
        date_default_timezone_set("Asia/Jakarta");
        $this->id = $_POST['id'];
        $this->no_bukti = $_POST['no_bukti'];
        $this->tgl_masuk = $_POST['tgl_masuk'];
        $this->jenismobil = $_POST['jenismobil'];
        $this->warna = $_POST['warna'];
        $this->no_rangka = $_POST['no_rangka'];
        $this->no_mesin = $_POST['no_mesin'];
        $this->dealer = $_POST['dealer'];
        $this->qty = 1;
        $this->operator = $_POST['operator'];
        $this->waktu = date('Y-m-d H:i:s');

        $id = $this->uri->segment(3);
        $this->db->update('pembelian_idk3', $this, array('id' => $this->input->post('id')));
    }
}
...