CodeIgniter 容許你爲單個表單域建立多個驗證規則,按順序層疊在一塊兒, 你也能夠同時對錶單域的數據進行預處理。要設置驗證規則, 能夠使用 set_rules() 方法:php
$this->form_validation->set_rules();
上面的方法有 三個 參數:html
註解ide
若是你想讓表單域的名字保存在一個語言文件裏,請參考 翻譯表單域名稱函數
下面是個例子,在你的控制器(Form.php)中緊接着驗證初始化函數以後,添加這段代碼:codeigniter
$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');
你的控制器如今看起來像這樣:ui
<?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'); } } }
如今若是你不填寫表單就提交,你將會看到錯誤信息。若是你填寫了全部的表單域並提交,你會看到成功頁。this
註解url
當出現錯誤時表單頁將從新加載,全部的表單域將會被清空,並無被從新填充。 稍後咱們再去處理這個問題。spa