_callback 関数に少し問題があります。
以下のコードで達成しようとしているのは、次のことです。
- ユーザーの詳細が正しくない場合、
$message
エラーが表示されます (現在は表示されません)。 - 何も入力せずに送信した場合、「ログインしてください」と表示させたいです。
コントローラ:
public function loginUser() {
$this->form_validation->set_rules('userEmail','Username', 'required|valid_email|trim|max_length[99]|xss_clean');
$this->form_validation->set_rules('userPassword','Password', 'required|trim|max_length[200]|xss_clean|callback__checkUsernamePassword');
if($this->form_validation->run() === TRUE) {
}
}
折り返し電話:
function _checkUsernamePassword() {
$username = $this->input->post('userEmail');
$password = $this->input->post('userPassword');
$user = $this->user_model->check_login($username,$password);
if(! $user)
{
$data['contentMangement'] = $this->options_model->systemOptions();
$data['pageTitle'] = 'Add User';
$data['message'] = form_error('userEmail','<div class="alert alert-error">', '</div>');
$this->load->view('_assets/header', $data);
$this->load->view('addUser', $data);
$this->load->view('_assets/footer');
$this->form_validation->set_message('_checkUsernamePassword', 'Sorry %s is not correct.');
return FALSE;
}else{
echo 'sheepdogs';
return TRUE;
}
}