You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter 4验证错误信息不显示问题求助

问题排查与修复

核心问题分析

你的代码存在两个关键错误,导致验证错误无法正常显示:

  1. Flashdata 操作错误:控制器中误用session()->getFlashdata('errors', ...),这是读取flashdata的方法,而非写入。正确操作应为setFlashdata来存储错误信息。
  2. 重定向数据传递错误:redirect()->to(...)->withInput('validation', ...)写法不符合CI4规范,withInput()无需参数,验证实例应通过with()传递,或直接将错误存入flashdata。

修复后的控制器代码

public function Daftar()
{
    // 定义验证规则
    $validationRules = [
        'nim' => [
            'label' => 'NIM',
            'rules' => 'required|is_unique[tbl_anggota.nim]',
            'errors' => [
                'required' => '{field} Masih Kosong!',
                'is_unique' => '{field} NIM Sudah Terdaftar!',
            ]
        ],
        'nama' => [
            'label' => 'Nama',
            'rules' => 'required',
            'errors' => [
                'required' => '{field} Masih Kosong!',
            ]
        ],
        'password' => [
            'label' => 'Password',
            'rules' => 'required',
            'errors' => [
                'required' => '{field} Masih Kosong!',
            ]
        ],
        'ulangi_password' => [
            'label' => 'Ulangi Password',
            'rules' => 'required|matches[password]',
            'errors' => [
                'required' => '{field} Masih Kosong!',
                'matches' => '{field} Password Tidak Sama!',
            ]
        ],
    ];

    // 验证通过逻辑
    if ($this->validate($validationRules)) {
        // 此处添加验证通过后的业务代码(如写入数据库)
    }  else {
        // 将验证错误存入Session Flashdata
        session()->setFlashdata('errors', \Config\Services::validation()->getErrors());
        // 重定向回登录页并携带用户输入的表单数据
        return redirect()->to(base_url('Auth/Login'))->withInput();
    }
}

视图代码无需修改

你的视图代码逻辑正确,只要控制器正确存入errors类型的flashdata,即可正常渲染错误提示。

额外检查项

  • 确认控制器已加载Session服务(CI4默认自动加载,若手动关闭需在构造函数中初始化:$this->session = \Config\Services::session();)
  • 验证重定向目标页Auth/Login确实包含你提供的错误提示视图代码
  • 检查浏览器控制台是否存在Session相关报错,确保Session服务正常运行

内容的提问来源于stack exchange,提问作者Pattoriku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:07:03