Ошибки проверки Codeigniter 4 не отображаются

У меня возникла проблема с моим сообщением об ошибке проверки для Codeigniter 4, проверка работает, но сообщения об ошибках не отображаются, я не знаю, что пошло не так. Ниже мой код:

Контроллер

public function register()
    {
        $data = [];
        helper(['form']);
        
        // To add in is_unique
        
        if($this->request->getMethod() == 'post'){
            //validations
            $rules = [
                'username' => 'required',
                'email' => 'required|valid_email',
                'firstname' => 'required',
                'lastname' => 'required',
                'dob' => 'required',
                'country' => 'required',
                'contact' => 'required',
                'password' => 'required'
            ];
            
            if(!$this->validate($rules)){
                $data['validation'] = $this->validator;
            }else{
                //store information into database
                
                
            }
        }
        
        echo view('templates/header', $data);
        echo view('account/register');
        echo view('templates/footer');
    }

Вид

<?php if(isset($validation)): ?>
            <div class="form-group col-12 col-md-12">
                <div class="alert alert-danger" role="alert">
                    <?php $validation->listErrors() ?>
                </div>
            </div>
            <?php endif; ?>

Заранее спасибо за помощь ребята!


person Dr3am3rz    schedule 20.07.2020    source источник
comment
Ok. Я посмотрел несколько видеороликов, и мне удалось заставить его работать, изменив ‹?php $validation-›listErrors() ?› на ‹?php echo \Config\Services::validation()-›listErrors() ?›. Кто-нибудь может мне объяснить?   -  person Dr3am3rz    schedule 20.07.2020


Ответы (2)


Ok. Я посмотрел несколько видео, и мне удалось заставить его работать, изменив

<?php $validation->listErrors() ?> 
to 
<?php echo \Config\Services::validation()->listErrors() ?>
person Dr3am3rz    schedule 20.07.2020

Согласно документации ci4, вы можете отобразить/получить список ошибок, два способа ниже-

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

OR

<?= \Config\Services::validation()->listErrors() ?>
person Abhishek Honrao    schedule 21.07.2020
comment
Спасибо. Я не уверен, почему обучающее видео, сделанное кем-то другим, могло работать на него. Я весьма озадачен. Но в любом случае я обновил код в соответствии с документацией ci4. - person Dr3am3rz; 21.07.2020
comment
Без проблем. На самом деле документация для ci4 тоже не так ясна. - person Abhishek Honrao; 21.07.2020