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

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

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

PHP
江户川乱折腾 2022-08-05 18:39:34
我想检查表单并显示任何错误。我无法理解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(); ?>
查看完整描述

2 回答

?
红颜莎娜

TA贡献1842条经验 获得超13个赞

试试这个代码:

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


查看完整回答
反对 回复 2022-08-05
?
潇湘沐

TA贡献1816条经验 获得超6个赞

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


我的视图中的代码:


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

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

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

<?php } ?>


查看完整回答
反对 回复 2022-08-05
  • 2 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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