如何修复 ErrorException Undefined 属性 App\Controllers\User::$form_validation CI4
how to fix ErrorException Undefined property App\Controllers\User::$form_validation CI4
I got an error trying to function edit
to be honest I'm confused about placing the form validation library in
codeigniter 4. can you guys help me?
user.php
<?php
namespace App\Controllers;
class User extends BaseController
{
protected $db, $builder;
public function __construct()
{
$this->db = \Config\Database::connect();
$this->builder = $this->db->table('users');
}
public function index()
{
$data['title'] = 'My Profile';
return view('user/index', $data);
}
public function edit()
{
$data['title'] = 'Edit Profile';
$db = \Config\Database::connect();
$query = $this->builder->get();
$data['user'] = $query->getRow();
$this->form_validation->set_rules('name', 'Fullname', 'required|trim');
if ($this->form_validation->run() == false); {
$this->load->view('user/edit', $data);
}
return view('user/edit', $data);
}
}
@Nominxx,你用的是setRules()
方法而不是setRule()
。 setRules() 方法接受数组。
$this->form_validation->set_rules('name', 'Fullname', 'required|trim');
改为
$this->form_validation->setRule('name', 'Fullname', 'required|trim');
试试这个进行验证
$test = $this->validate(['name' => 'required|trim']);
I got an error trying to function edit
to be honest I'm confused about placing the form validation library in codeigniter 4. can you guys help me?
user.php
<?php
namespace App\Controllers;
class User extends BaseController
{
protected $db, $builder;
public function __construct()
{
$this->db = \Config\Database::connect();
$this->builder = $this->db->table('users');
}
public function index()
{
$data['title'] = 'My Profile';
return view('user/index', $data);
}
public function edit()
{
$data['title'] = 'Edit Profile';
$db = \Config\Database::connect();
$query = $this->builder->get();
$data['user'] = $query->getRow();
$this->form_validation->set_rules('name', 'Fullname', 'required|trim');
if ($this->form_validation->run() == false); {
$this->load->view('user/edit', $data);
}
return view('user/edit', $data);
}
}
@Nominxx,你用的是setRules()
方法而不是setRule()
。 setRules() 方法接受数组。
$this->form_validation->set_rules('name', 'Fullname', 'required|trim');
改为
$this->form_validation->setRule('name', 'Fullname', 'required|trim');
试试这个进行验证
$test = $this->validate(['name' => 'required|trim']);