CI(CodeIgniter)框架沒有內置的表單驗證功能,但你可以使用它提供的強大的輸入類(Input Class)和驗證類(Validation Class)來實現表單驗證。以下是一個簡單的示例,展示了如何在CI框架中使用表單驗證:
public function __construct() {
parent::__construct();
$this->load->helper('form');
$this->load->library('form_validation');
}
public function create() {
// 設置表單驗證規則
$config['rules'] = array(
'username' => 'required|min_length[3]|max_length[20]',
'email' => 'required|valid_email',
'password' => 'required|min_length[6]',
);
// 設置錯誤消息
$config['error_messages'] = array(
'username' => array(
'required' => '用戶名不能為空',
'min_length' => '用戶名至少需要3個字符',
'max_length' => '用戶名最多不能超過20個字符',
),
'email' => array(
'required' => '郵箱不能為空',
'valid_email' => '郵箱格式不正確',
),
'password' => array(
'required' => '密碼不能為空',
'min_length' => '密碼至少需要6個字符',
),
);
// 進行表單驗證
$this->form_validation->set_rules($config['rules']);
if ($this->form_validation->run() == FALSE) {
// 驗證失敗,顯示錯誤消息
$this->load->view('create_form');
} else {
// 驗證成功,執行其他操作,例如插入數據到數據庫
// ...
// 跳轉到其他頁面或顯示成功消息
redirect('success_page');
}
}
<form action="<?php echo site_url('create'); ?>" method="post">
<label for="username">用戶名:</label>
<input type="text" name="username" id="username" value="<?php echo set_value('username'); ?>" />
<br /><br />
<label for="email">郵箱:</label>
<input type="text" name="email" id="email" value="<?php echo set_value('email'); ?>" />
<br /><br />
<label for="password">密碼:</label>
<input type="password" name="password" id="password" value="<?php echo set_value('password'); ?>" />
<br /><br />
<input type="submit" value="創建" />
</form>
現在,當用戶提交表單時,CI框架會自動進行驗證,并在驗證失敗時顯示相應的錯誤消息。如果驗證成功,你可以執行其他操作,例如將數據插入到數據庫中。