CI(CodeIgniter)框架沒(méi)有內(nèi)置的表單驗(yàn)證功能,但你可以使用它提供的強(qiáng)大的輸入類(Input Class)和驗(yàn)證類(Validation Class)來(lái)實(shí)現(xiàn)表單驗(yàn)證。以下是一個(gè)簡(jiǎn)單的示例,展示了如何在CI框架中使用表單驗(yàn)證:
public function __construct() {
parent::__construct();
$this->load->helper('form');
$this->load->library('form_validation');
}
public function create() {
// 設(shè)置表單驗(yàn)證規(guī)則
$config['rules'] = array(
'username' => 'required|min_length[3]|max_length[20]',
'email' => 'required|valid_email',
'password' => 'required|min_length[6]',
);
// 設(shè)置錯(cuò)誤消息
$config['error_messages'] = array(
'username' => array(
'required' => '用戶名不能為空',
'min_length' => '用戶名至少需要3個(gè)字符',
'max_length' => '用戶名最多不能超過(guò)20個(gè)字符',
),
'email' => array(
'required' => '郵箱不能為空',
'valid_email' => '郵箱格式不正確',
),
'password' => array(
'required' => '密碼不能為空',
'min_length' => '密碼至少需要6個(gè)字符',
),
);
// 進(jìn)行表單驗(yàn)證
$this->form_validation->set_rules($config['rules']);
if ($this->form_validation->run() == FALSE) {
// 驗(yàn)證失敗,顯示錯(cuò)誤消息
$this->load->view('create_form');
} else {
// 驗(yàn)證成功,執(zhí)行其他操作,例如插入數(shù)據(jù)到數(shù)據(jù)庫(kù)
// ...
// 跳轉(zhuǎn)到其他頁(yè)面或顯示成功消息
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="創(chuàng)建" />
</form>
現(xiàn)在,當(dāng)用戶提交表單時(shí),CI框架會(huì)自動(dòng)進(jìn)行驗(yàn)證,并在驗(yàn)證失敗時(shí)顯示相應(yīng)的錯(cuò)誤消息。如果驗(yàn)證成功,你可以執(zhí)行其他操作,例如將數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中。