为了账号安全,请及时绑定邮箱和手机立即绑定

CodeIgniter 4中错误验证时未定义的变量

CodeIgniter 4中错误验证时未定义的变量

PHP
慕婉清6462132 2022-07-22 19:09:27
我想检查一个表格并显示任何错误。我不明白 Code Igniter 4 如何让我检查$validation变量是否存在以显示警报。当我用create()函数显示表单时,我收到一条错误消息,告诉我变量不存在,这是正常的。我的问题如下,如何检查视图中是否存在错误以显示警报?我的控制器<?php namespace App\Controllers;use CodeIgniter\Model\Site_model;class Site extends BaseController{        public function __construct()        {                helper('html', 'url');        }        public function create()        {                helper(['form']);                echo view('createSite');        }        public function store()        {                helper(['form']);                $validation =  \Config\Services::validation();                $validation->setRules([                                'siteName' => 'required',                                'password' => 'required',                                'passwordConfirmation' => 'required|matches[password]'                        ],                        [   // Errors                                'siteName' => [                                        'required' => 'Merci de fournir un nom de site'                                ],                                'password' => [                                        'required' => 'Merci de fournir un mot de passe'                                ],                                'passwordConfirmation' => [                                        'required' => 'Merci de confirmer le mot de passe',                                        'matches' => 'Les mots de passe ne correspondent pas.'                                ]                        ]                );我<?= $validation->listErrors(); ?>用来显示错误,但在第一次显示表单时,在验证它之前,没有错误,所以我得到 Undefined variable: validation
查看完整描述

2 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

试试这个代码:

<?= \Config\Services::validation()->listErrors(); ?>

在查看文件


查看完整回答
反对 回复 2022-07-22
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

我通过检查 $validation 变量是否已初始化解决了这个问题。CI 在显示错误之前没有检查错误数组是否为空(在我的情况下不存在),这仍然很奇怪。


我视图中的代码:


<?php if(isset($validation)) { ?>

<div class="alert alert-danger" role="alert">

  <?= $validation->listErrors(); ?>

<?php } ?>


查看完整回答
反对 回复 2022-07-22
  • 2 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号