CI設置表單驗證規則

CodeIgniter 容許你爲單個表單域建立多個驗證規則,按順序層疊在一塊兒, 你也能夠同時對錶單域的數據進行預處理。要設置驗證規則, 能夠使用 set_rules() 方法:php

$this->form_validation->set_rules(); 

上面的方法有 三個 參數:html

  1. 第一個參數,表單域名 - 就是你給表單域取的那個名字。
  2. 第二個參數,表單域的 "人性化" 名字,它將被插入到錯誤信息中。例如, 若是你有一個表單域叫作 「user」 ,你可能會給它一我的性化的名字叫作 「用戶名」 。
  3. 第三個參數,爲此表單域設置的驗證規則。
  4. (可選的)當此表單域設置自定義的錯誤信息,若是沒有設置該參數,將使用默認的。

註解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

相關文章
相關標籤/搜索