Кодовый указатель обратного вызова не может получить доступ - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть контроллер

function append_bukti()
{
    $this->load->library('form_validation');
    $this->load->helper('file');

    $this->form_validation->set_rules('nomor_nota', 'Nomor Nota', 'trim|required');
    $this->form_validation->set_rules('jumlah_tagihan', 'Jumlah Tagihan', 'trim|required');
    $this->form_validation->set_rules('date_payment', 'Tanggal Pembayaran', 'trim|required');
    $this->form_validation->set_rules('file', '', 'callback__file_check');

    if ($this->form_validation->run()){

        $er="bener";
        echo json_encode($er);
    }else{
        $array = array(
            'error'                 => true,
            'nomor_nota_error'      => form_error('nomor_nota'),
            'jumlah_tagihan_error'  => form_error('jumlah_tagihan'),
            'date_payment_error'    => form_error('date_payment'),
            'file_error'            => form_error('file'),
            'validasi'              => $this->form_validation->run()
        );
    }   
    echo json_encode($array);
}

, а вот обратный вызов функции

public function _file_check($str){
    $allowed_mime_type_arr  = array('image/png','image/x-png');
    $mime                   = get_mime_by_extension($_FILES['file']['name']);

    if(isset($_FILES['file']['name']) && $_FILES['file']['name']!=""){
        if(in_array($mime, $allowed_mime_type_arr)){
            return true;
        }else{
            $this->form_validation->set_message('file_check', 'Silahkan pilih hanya file pdf/gif/jpg/png.');
            return false;
        }
    }else{
        $this->form_validation->set_message('file_check', 'Silakan pilih file untuk diupload.');
        return false;
    }
}

, если я запускаю эту функцию, она не может обработать и ничего. если вся форма истинна, почему я эхо $ this-> validation-> run () все еще echo false. мне нужна ваша помощь. ура

1 Ответ

0 голосов
/ 10 апреля 2020
'validasi'  => $this->form_validation->run()

Эта строка делает функцию рекурсивной и никогда не заканчивается. Просто установите его на false.

            'validasi'  => false
        );
       echo json_encode($array); //put this statement into the else scope
    }   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...