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框架会自动进行验证,并在验证失败时显示相应的错误消息。如果验证成功,你可以执行其他操作,例如将数据插入到数据库中。