CodeIgniterで開発を行っています。
入力チェックでemail がほかの項目と異なる挙動を示しています。
(下記はemailのみ抜粋)
<table class="table" id="tbl_member"> <tbody> <tr> <th>メールアドレス<span class="aster">※</span></th> <td><input type="text" name="email" id="email" /></td> </tr> <tr> <th>メールアドレス(確認)<span class="aster">※</span></th> <td><input type="text" name="email_conf" id="email_conf" /></td> </tr> </tbody> </table>
入力チェックのルール
public function index(){ //SESSIONデータ $session_array = array(); $session_array = $this->session->all_userdata(); //POSTデータ $post_array = array(); $post_array = $this->input->post(); $data = array(); //POSTデータが存在する if(!empty($post_array)){ //入力チェック if($this->validation_check()){ $data = array_merge($data,$post_array); $this->session->set_userdata($post_array); $data["title"] = "会員情報(新規登録)"; //HeaderのVIEW $this->load->view('/header/header_011',$data); $this->load->view('/common/parts_not_login',$data); $this->load->view('/member/confirm',$data); $this->load->view('/common/parts_footer',$data); } }else{ $data["title"] = "会員情報(新規登録)"; //HeaderのVIEW $this->load->view('/header/header_011',$data); $this->load->view('/common/parts_not_login',$data); $this->load->view('/member/input',$data); $this->load->view('/common/parts_footer',$data); } } //入力チェック private function validation_check(){ //SESSIONデータ $session_array = array(); $session_array = $this->session->all_userdata(); //POSTデータ $post_array = array(); $post_array = $this->input->post(); //検証ルール $this->form_validation->set_rules('email','メールアドレス',array('required','min_length[10]','max_length[128]','matches[email_conf]','callback_check_duplicate_email')); $this->form_validation->set_rules('email_conf','メールアドレス(確認)',array('required','min_length[10]','max_length[128]')); //入力チェック if($this->form_validation->run() == FALSE ){ $this->form_validation->set_error_delimiters('<span class="em">', '</span>'); //配列を結合する $data = array_merge($post_array,$data); $data["title"] = "会員情報(新規登録エラー)"; //HeaderのVIEW $this->load->view('/header/header_011',$data); $this->load->view('/common/parts_not_login',$data); $this->load->view('/member/input_error',$data); $this->load->view('/common/parts_footer',$data); return FALSE; }else{ return TRUE; } } //重複確認 public function check_duplicate_email(){ if($this->duplicate_check->Check_Duplicate_Email()){ $this->form_validation->set_message("check_duplicate_email","この%s は、すでに利用されています。"); return FALSE; } }
としているんですが、入力を行っても
emailが「メールアドレス欄は必須フィールドです。」
と表示されてしまいます。
どこがおかしいのでしょうか?
まったく見当がつかず困っています。
宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。