代码点火器:表单验证在控制器中不起作用


Codeigniter: form validation not working in controller

$this->form_validation->set_rules('email', 'Email', 'required|trim|valid_email|is_unique[users.email]');
$this->form_validation->set_rules('password', 'Password', 'required|trim|min_length[8]|max_length[20]');
$this->form_validation->set_rules('password', 'Confirm Password', 'required|trim|matches[password]');
$this->form_validation->set_message('is_unique', "That email address already exists.");
$this->form_validation->set_message('min_length[8]', "The password length is too short.");

我可以知道为什么密码部分不起作用,但是电子邮件部分有效。

每当我尝试输入长度小于8的密码时,表单仍然会被提交,并且信息仍然会插入到我的数据库中

密码字段名称不是唯一的。

$this->form_validation->set_rules('password', 'Password', 'required|trim|min_length[8]|max_length[20]');
$this->form_validation->set_rules('password', 'Confirm Password', 'required|trim|matches[password]');

将其更改为如下所示的内容:

$this->form_validation->set_rules('password', 'Password', 'required|trim|min_length[8]|max_length[20]');
$this->form_validation->set_rules('confirm_password', 'Confirm Password', 'required|trim|matches[password]');