我想在Codeigniter中验证我的表单。我见过很多教程,但没有得到我想要的东西。如果字段为空,那么我必须显示错误消息并且在 相同的页面,如果字段已填写,那么我想提交数据,并在成功提交后 register_view.php应该与User Successfully Registered的消息一起显示,但这里验证不是 工作
register_view.php
border-color
Register.php
!important
答案 0 :(得分:0)
if ($this->form_validation->run() == FALSE)
{
// YOU GET HERE WHEN THERE IS NO DATA SUBBMITTED OR WHEN YOU VALIDATION WAS INVALID
$this->load->view('myform');
}
else
{
// YOU GET HERE WHEN YOUR VALIDATION WAS VALID, SO YOU CAN SAVE DATA TO YOUR DATABASE AND SHOW A SUCCESSPAGE.
$this->load->view('formsuccess');
}
您的代码似乎正在混淆,因此它不会像您期望的那样工作。
答案 1 :(得分:0)
如果您至少使用版本2+,则应重构代码。 尝试更改
function Register(){
parent::Controller();
$this->load->library('form_validation');
}
与
public function __construct(){
parent::__construct();
$this->load->library('form_validation');
}
答案 2 :(得分:0)
我有另一种方法可以做到这一点。它如下:
在控制器中:
if($this->form_validation->run() == FALSE){
$data['msg'] = '<div class="alert alert-dismissable alert-danger"><button class="close" data-dismiss="alert" type="button">×</button>Some error</div>';
$this->load->view('register', $data);
}
在视图中这样做:
<?php if(isset($msg)){echo $msg ;} ?>
您可以使用$msg_username
或其他任何错误消息。
希望这有用。