如何纠正 validation_errors();函数在密码字段中的错误消息?
how to rectify the validation_errors(); function's error message in password field?
我正在学习 codeigniter 3(学习 Edwin Diaz 的 CI 课程,我正在编写 登录系统。我有两个控制器方法,称为 index 和 login。我正在使用 form_validation library。但我的问题在于在 密码字段 中显示错误消息。它总是显示错误消息 **The Password field is required.**即使我提交了密码。我正在粘贴下面的代码:
public function login(){
$this->form_validation->set_rules('name','Username','trim|required|min_length[3]');
$this->form_validation->set_rules('password','Password','trim|required|min_length[3]');
if($this->form_validation->run() == FALSE){
$data = array('errors'=> validation_errors() );
$this->session->set_flashdata($data);
redirect('home/index');
}
else{
}
这里是login_view.php代码
<h1>Login Form</h1>
<?php $attributes= array('id' =>'login_form' ,'class'=>'form-horizontal' ); ?>
<?php if($this->session->flashdata('errors'):?>
<?php echo $this->session->flashdata('errors');?>
<?php endif; ?>
<?php echo form_open('home/login',$attributes);?>
<?php echo form_label("Username") ;?>
<div class="form-group">
<?php $data = array('class'=>'form-control','name'=>'name','placeholder'=>'enter username');?>
<?php echo form_input($data); ?>
</div>
<?php echo form_label("Password") ;?>
<div class="form-group">
<?php $data = array('class'=>'form-control','password'=>'password','placeholder'=>'enter password');?>
<?php echo form_password($data); ?>
</div>
<?php
$data = array('class'=>'btn btn-primary','name'=>'submit','value'=>'login');?>
<?php echo form_submit($data); ?>
<?php echo form_close(); ?>
谁能说说密码字段为什么会这样以及如何纠正这个问题?
P.S :许多人说 codeigniter 3 不支持 php 版本 7.3.12 而相同的代码是
运行 在 php 版本 7.2.5
上完美
您似乎还没有设置密码输入的名称。
HINT: View your HTML Source Code via your web browser to see what was
generated. This always gives you a good clue as to what's not working.
所以你需要把'password'=> 'password'
改成'name'=>'password
你原来的台词
<?php $data = array('class'=>'form-control','password'=>'password','placeholder'=>'enter password');?>
应该变成
<?php $data = array('class'=>'form-control','name'=>'password','placeholder'=>'enter password');?>
我正在学习 codeigniter 3(学习 Edwin Diaz 的 CI 课程,我正在编写 登录系统。我有两个控制器方法,称为 index 和 login。我正在使用 form_validation library。但我的问题在于在 密码字段 中显示错误消息。它总是显示错误消息 **The Password field is required.**即使我提交了密码。我正在粘贴下面的代码:
public function login(){
$this->form_validation->set_rules('name','Username','trim|required|min_length[3]');
$this->form_validation->set_rules('password','Password','trim|required|min_length[3]');
if($this->form_validation->run() == FALSE){
$data = array('errors'=> validation_errors() );
$this->session->set_flashdata($data);
redirect('home/index');
}
else{
}
这里是login_view.php代码
<h1>Login Form</h1>
<?php $attributes= array('id' =>'login_form' ,'class'=>'form-horizontal' ); ?>
<?php if($this->session->flashdata('errors'):?>
<?php echo $this->session->flashdata('errors');?>
<?php endif; ?>
<?php echo form_open('home/login',$attributes);?>
<?php echo form_label("Username") ;?>
<div class="form-group">
<?php $data = array('class'=>'form-control','name'=>'name','placeholder'=>'enter username');?>
<?php echo form_input($data); ?>
</div>
<?php echo form_label("Password") ;?>
<div class="form-group">
<?php $data = array('class'=>'form-control','password'=>'password','placeholder'=>'enter password');?>
<?php echo form_password($data); ?>
</div>
<?php
$data = array('class'=>'btn btn-primary','name'=>'submit','value'=>'login');?>
<?php echo form_submit($data); ?>
<?php echo form_close(); ?>
谁能说说密码字段为什么会这样以及如何纠正这个问题?
P.S :许多人说 codeigniter 3 不支持 php 版本 7.3.12 而相同的代码是 运行 在 php 版本 7.2.5
上完美您似乎还没有设置密码输入的名称。
HINT: View your HTML Source Code via your web browser to see what was generated. This always gives you a good clue as to what's not working.
所以你需要把'password'=> 'password'
改成'name'=>'password
你原来的台词
<?php $data = array('class'=>'form-control','password'=>'password','placeholder'=>'enter password');?>
应该变成
<?php $data = array('class'=>'form-control','name'=>'password','placeholder'=>'enter password');?>