嗨,我有这个注册表格,我正在添加一个具有set_value的值,以便在我点击提交按钮时数据将保留。我正在添加一个回调函数,如果数据库中已经存在,将检查用户名。我注意到的是我的set_value不起作用所以数据不会保留。当我删除用户名中的回调时,set_value将起作用。我怎么能这样做?我的set_value将保留。这是我的代码
$this->form_validation->set_rules('username', 'Username', 'required|min_length[4]|max_length[12]|callback_check_username');
和我的回调代码
public function check_username($username){
$username = $this->input->post('username');
$result = $this->um->username($username);
if($result){
$this->form_validation->set_message('check_username', 'Username Already Exists.');
return false;
}
}
我的观点有set_value
<input type="text" class="form-control" value="<?php echo set_value('username');?>" name="username" />
非常感谢任何帮助
答案 0 :(得分:0)
您可以将参数用户名传递给视图
if($this->form_validation->run() == false)
{
$data['username'] = $this->input->post('username');
$this->load->view('yourviewname',$data);
}
答案 1 :(得分:0)
如果你的回调返回布尔值以外的任何值TRUE / FALSE,则假定数据是你新处理的表格数据。
public function check_username($username)
{
$username = $this->input->post('username');
$result = $this->um->username($username);
if($result)
{
$this->form_validation->set_message('check_username', 'Username Already Exists.');
return FALSE;
} else {
return TRUE;
}
}