簡體   English   中英

如何將validation_errors()放在文本字段的右側?

[英]how can I put validation_errors() at the right side of textfield?

我遵循了CodeIgniter和Im中的學習教程,目前正在使用我的參考文件(以下鏈接)中的相同過程創建程序,該參考文件中有一個登錄表單。 我的功能沒有問題,我只想將validation_errors()放在文本字段的右側,如果用戶名為空或不正確,則錯誤消息將顯示在文本字段的右側。 有沒有辦法做到這一點? 還是應該使用javascript而不是使用此validate_errors()? 希望有人能幫助我。 謝謝!

這是VIEW中的代碼:

<h3>Log-In with CodeIgniter</h3>
<?php echo validation_errors(); ?>
<?php echo form_open('verifylogin'); ?>
<label for="username">Username:</label>
<input type="text" size="20" id="username" name="username"/>
<br/>
<label for="password">Password:</label>
<input type="password" size="20" id="password" name="password"/>
<br/>
<input type="submit" value="Log-In"/>
</form>

這是CONTROLLER中的代碼:

    function index() {
    $this->load->library('form_validation');
    $this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
    $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');
    if($this->form_validation->run()==FALSE) {
        $this->load->view('login_view');
    }
    else {
        redirect('home', 'refresh');
    }
}

function check_database($password) {
    $username=$this->input->post('username');
    $result=$this->user->login($username, $password);
    if($result) {
        $sess_array=array();
        foreach($result as $row) {
            $sess_array=array('id'=>$row->id, 'username'=>$row->username);
            $this->session->set_userdata('logged_in', $sess_array); 
        }
        return TRUE;
    }
    else {
        $this->form_validation->set_message('check_database', 'Invalid username or password');
        return FALSE;
    }
}

參考: http : //www.codefactorycr.com/login-with-codeigniter-php.html

在此處輸入圖片說明在此處輸入圖片說明在此處輸入圖片說明在此處輸入圖片說明

<h3>Log-In with CodeIgniter</h3>



<?php if (form_error('password')=="Invalid username or password")
 {
    echo form_error('password');
 }
?>

<?php echo form_open('verifylogin'); ?>
<label for="username">Username:</label>
<input type="text" size="20" id="username" name="username"/><?php echo form_error('username'); ?>
<br/>
<label for="password">Password:</label>
<input type="password" size="20" id="password" name="password"/><?php echo form_error('password'); ?>
<br/>
<input type="submit" value="Log-In"/>
</form>
<?php echo form_open('verifylogin'); ?>

這將一次顯示FORM的所有錯誤-它們以批量錯誤的形式出現(未拆分)

<?php echo form_error('username'); ?>
<?php echo form_error('password'); ?>

這是顯示單個錯誤的正確方法,其中CodeIgniter為您提供了單個顯示錯誤的方法

在codeigniter中顯示單個錯誤

並分別搜索顯示錯誤

您可以在輸入字段旁邊的span標簽中顯示它們-以獲取所需的O / P類型

這是我做的

$this->form_validation->set_message('check_database', '<br/><br/>Invalid username or password');

我在無效的用戶名或密碼中添加了<br/> ,因此不會將其放置在密碼字段中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM