Google のようにログイン フォームを検証したいと考えています。
最初にユーザー名を確認し、次にパスワードを確認します。両方が空の場合、ユーザー名ボックスにのみエラーがあります。
CodeInginter では、両方が空の場合、各フィールドが必須のメッセージを出力します。
この機能を CodeIgnightor で簡単に模倣できますか?
Google のようにログイン フォームを検証したいと考えています。
最初にユーザー名を確認し、次にパスワードを確認します。両方が空の場合、ユーザー名ボックスにのみエラーがあります。
CodeInginter では、両方が空の場合、各フィールドが必須のメッセージを出力します。
この機能を CodeIgnightor で簡単に模倣できますか?
このようにしてみてください
$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');
}
質問を投稿する前に調査する必要があります。この種の情報は、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'
)
);