入力されたEメールアドレスが存在するかチェックする処理です。
php
1 public function reminder_validation() 2 { 3 $this->load->library("form_validation"); 4 $config = array( 5 array( 6 'field' => 'email', 7 'label' => 'メールアドレス', 8 'rules' => 'required|trim|valid_email|callback__validate_credentials' 9 ) 10 ); 11 $this->form_validation->set_rules($config); 12 if ($this->form_validation->run() == FALSE) 13 { 14 } 15 : 16 } 17 18 function _validate_credentials() 19 { 20 $this->load->model("users"); 21 if ($this->users->check_regist()) 22 { 23 return true; 24 } 25 else { 26 $this->form_validation->set_message("_validate_credentials", "登録されていないメールアドレスです"); 27 return false; 28 } 29 }
emailを空でPOSTした場合はrequiredに引っかかるので、そのエラーが表示されるべきですが、実際はvalidate_credentialsでセットしたメッセージが表示されてしまいます。
同様に、Eメールアドレスでない文字列でPOSTした際もvalid_emailのエラーは表示されません。
どこかで優先順位を指定する必要があるのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/24 09:24