0

我想在 codeigniter 上进行表单验证

这是控制器上 alternatif.php 的代码

class Alternatif extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->library('form_validation');
        $this->load->model("Alternatif_model");
        $this->load->model("User_model");
        if (!$this->session->userdata('email')) {
            redirect('auth');
        }
        $data['user'] = $this->db->get_where('users', ['email' => $this->session->userdata('email')])->row_array();
    }

public function tambahAlternatif()
    {
        $data['title'] = 'Tambah Alternatif';
        $data['user'] = $this->db->get_where('users', ['email' => $this->session->userdata('email')])->row_array();
        
        if ($this->input->post('nambahAlternatif')) {
            foreach ($this->input->post() as $key => $value) {
                if (strpos($key, "id_aspek_teknik-") !== false) {
                    $k = str_replace('id_aspek_teknik-', '', $key);
                    $this->Alternatif_model->tambahNilai($k);
                }
            }

            $this->Alternatif_model->tambahAlternatif();
            $this->session->set_flashdata('flash', 'ditambahkan');
            redirect('alternatif');

        } else {
 code
        }

    }

我想问在哪里可以在codeigniter上添加表单验证?

4

1 回答 1

0

在 Controller 上添加验证,例如:

        public function tambahAlternatif()
        {
                $this->load->helper(array('form', 'url'));

                $this->load->library('form_validation');

                if ($this->form_validation->run() == FALSE)
                {
                        // this block working when get error
                        $this->load->view('myform');
                }
                else
                { // when success
                        $this->load->view('formsuccess');
                }
        }

在此处查看官方文档

在您的视图文件(提交表单的位置)上使用此代码,<?php echo validation_errors(); ?>它会返回您的错误

注意:视图文件上的此验证错误仅适用于 PHP 版本 <=7.3。不支持 PHP v8

于 2021-11-23T07:02:20.350 回答