-3

Google のようにログイン フォームを検証したいと考えています。

最初にユーザー名を確認し、次にパスワードを確認します。両方が空の場合、ユーザー名ボックスにのみエラーがあります。

CodeInginter では、両方が空の場合、各フィールドが必須のメッセージを出力します。

この機能を CodeIgnightor で簡単に模倣できますか?

4

2 に答える 2

0

このようにしてみてください

   $this->form_validation->set_rules('email', 'Email', 'required');

   if ($this->form_validation->run() == FALSE){

    $this->load->view('myform');

   }else{
     $this->form_validation->set_rules('passconf', 'Password Confirmation', 'required');
     if($this->form_validation->run() == FALSE){
       $this->load->view('myform');
     }
     $this->load->view('formsuccess');
   }
于 2012-12-19T10:54:28.523 に答える
0

質問を投稿する前に調査する必要があります。この種の情報は、codeIgniter ユーザー ガイドで入手​​できます。とにかく私は簡単な例を提供しています。

ファイルを表示: login.php

   <form action="<?php echo ROOT_FOLDER ?>/controller_name/post_login" method="post" >
                    <p>
                        <label>Email:</label> <?php echo form_error('email'); ?><br />
                        <input type="text" class="text" name="email" value="<?php echo set_value('email'); ?>" />
                    </p>

                    <p>
                        <label>Password:</label> <?php echo form_error('passwd'); ?><br />
                        <input type="password" name="passwd" class="text" value="" />
                    </p>

                    <p>
                        <input type="submit"  class="submit" value="Login" />                               

                    </p>
    </form>

コントローラーファイルに書かれているコントローラー機能…………

 public function post_login()
    {

        $error_in_validation=set_form_validation($this->config->item('login_form'));

        if($error_in_validation){
            show_form_validation_error('controller_file_name/login');
        }
        else
        {
            $email=$this->input->post('email');
            $passwd=$this->input->post('passwd');
            $ret=$this->model_file_name->user_login($email, $passwd);

            if($ret == NULL){

                $model=array();
                $model['error_msg']=$this->config->item('login_form_error_code_1');;
                $this->load->view('controller_file_name/login',$model);             
            } else {
                redirect("ro_manager/home");
            }

        }

    }

この後、config フォルダーに form_validation という名前のファイルを作成する必要があります。そのため、ユーザー ガイドに従って検証ルールを記述する必要があります。

     $config['login_form'] = array (
                        array 
                        (
                            'key' => 'email', 
                            'value' => 'Email',
                            'rule' => 'trim|required|valid_email|xss_clean'
                        ),
                        array
                        (
                            'key' => 'passwd', 
                            'value' => 'Password',
                            'rule' => 'trim|required|alpha_numeric|xss_clean'
                        )
                      );
于 2012-12-19T10:20:35.967 に答える