首页 > 解决方案 > Q:如何用ajax制作表单验证codeigniter?

问题描述

大家好,我尝试使用 ajax 服务器端制作表单验证 codeigniter,但它仍然无法正常工作,我想在表单输入下显示错误消息“必需”。我的代码有什么问题。

这是我的控制器

function ajax_submit_kategori() {
    $this->load->library('form_validation');

    $data['nama'] = $this->input->post('kategori');
    $data['id_legislator'] = $this->input->post('legislator');


    $this->db->insert('galangsuara_has_categories',$data);
    $return['status'] = '0';
    echo json_encode($return);
}

这是我的ajax

<script type="text/javascript">
$('#input').submit(function(event){
    event.preventDefault();
    Pace.track(function(){
        var cate = $('#tim').val();
        var dapi = $('#dapil').val();
        var legi = $('#legislatif').val();

        $.ajax({
            url: "<?= site_url().'timgalang/ajax_submit_kategori'?>",
            type : 'post',
            data : {kategori: cate, dapil: dapi, legislator: legi},
            dataType: "json",
            success : function(data){
                console.log(data);
                $("#modal_tambah").modal('hide');
                document.getElementById("input").reset();
                var table = $('#table').DataTable();
                table.ajax.reload();   
                window.location = 'kategori';
            },
            error: function(data){
                alert('ERROR');
            }

        });
    });
    return false;
});

任何人都可以帮助我吗?:(

标签: ajaxcodeigniter

解决方案


尝试这个

Controller code:

function ajax_submit_kategori() {
        $status = 1;
        $error = '';
        $this->load->library('form_validation');

        $this->form_validation->set_rules('kategori', 'Kategori', 'required');
        $this->form_validation->set_rules('dapil', 'Dapil', 'required');
        $this->form_validation->set_rules('id_legislator', 'Id_legislator', 'required');
        if ($this->form_validation->run() == FALSE) {
            $status = 0;
            $error = validation_errors();
        } else {
            $data['kategori'] = $this->input->post('kategori');
            $data['dapil'] = $this->input->post('dapil');
            $data['id_legislator'] = $this->input->post('id_legislator');

            $this->db->insert('galangsuara_has_categories', $data);
        }
        $return['status'] = $status;
        $return['$error'] = jsone_encode($error);
        echo json_encode($return);
        exit();
    }

ajax code :

$.ajax({
            url: "<?= base_url().'timgalang/ajax_submit_kategori'?>",
            type : 'post',
            data : {kategori: cate, dapil: dapi, legislator: legi},
            dataType: "json",
            success : function(data){
                console.log(data);
//here, first you need to check your data is perfect for error then do according to your wish
                //$("#modal_tambah").modal('hide');
                //document.getElementById("input").reset();
                //var table = $('#table').DataTable();
                //table.ajax.reload();   
                //window.location = 'kategori';
            },
            error: function(data){
                alert('ERROR');
            }

    });

推荐阅读