CodeIgniter 允许你为单个表单域创建多个验证规则,按顺序层叠在一起, 你也可以同时对表单域的数据进行预处理。要设置验证规则, 可以使用 set_rules() 方法:
$this->form_validation->set_rules();
上面的方法有 三个 参数:
注解
如果你想让表单域的名字保存在一个语言文件里,请参考 翻译表单域名称
下面是个例子,在你的控制器(Form.php)中紧接着验证初始化函数之后,添加这段代码:
$this->form_validation->set_rules(‘username‘, ‘Username‘, ‘required‘);
$this->form_validation->set_rules(‘password‘, ‘Password‘, ‘required‘);
$this->form_validation->set_rules(‘passconf‘, ‘Password Confirmation‘, ‘required‘);
$this->form_validation->set_rules(‘email‘, ‘Email‘, ‘required‘);
你的控制器现在看起来像这样:
<?php
class Form extends CI_Controller {
public function index()
{
$this->load->helper(array(‘form‘, ‘url‘));
$this->load->library(‘form_validation‘);
$this->form_validation->set_rules(‘username‘, ‘Username‘, ‘required‘);
$this->form_validation->set_rules(‘password‘, ‘Password‘, ‘required‘,
array(‘required‘ => ‘You must provide a %s.‘)
);
$this->form_validation->set_rules(‘passconf‘, ‘Password Confirmation‘, ‘required‘);
$this->form_validation->set_rules(‘email‘, ‘Email‘, ‘required‘);
if ($this->form_validation->run() == FALSE)
{
$this->load->view(‘myform‘);
}
else
{
$this->load->view(‘formsuccess‘);
}
}
}
现在如果你不填写表单就提交,你将会看到错误信息。如果你填写了所有的表单域并提交,你会看到成功页。
注解
当出现错误时表单页将重新加载,所有的表单域将会被清空,并没有被重新填充。 稍后我们再去处理这个问题。
原文:http://www.cnblogs.com/kenshinobiy/p/4978994.html