您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關CI框架如何實現表單驗證的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
具體如下:
1、form頭部信息的自動輸出函數(view)
<?php $attributes = array('class' => 'email', 'id' => 'myform'); echo form_open('email/send', $attributes); //上面一行代碼輸出: //<form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send" id="myform" class="email"/> /* * form_open_multipart() * 函數用法同上,加上了文件上傳的信息 上傳方式默認為post */ ?>
2、設置驗證規則(controller)
<?php //注意驗證規則的變量名必須設置成 config $config = array( array( 'field' => 'username', 'label' => '用戶名', 'rules' => 'required' ), array( 'field' => 'password', 'label' => '密碼', 'rules' => 'required' ), array( 'field' => 'passconf', 'label' => '確認密碼', 'rules' => 'required|matches[password]' ), array( 'field' => 'tel', 'label' => '手機', 'rules' => 'required|integer|exact_length[11]'), array( 'field' => 'email', 'label' => '郵箱', 'rules' => 'required|valid_email' ) ); //上面的會自動 //單獨設置規則 $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[12]|xss_clean'); $this->form_validation->set_rules('password', 'Password', 'trim|required|matches[passconf]|md5'); $this->form_validation->set_rules('passconf', 'Password Confirmation', 'trim|required'); $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email'); ?>
3、規則對應的錯誤提示(controller)
<?php $this->form_validation->set_message('required', '必須填寫'); $this->form_validation->set_message('valid_email', '不是有效的email'); ?>
4、運行檢查錯誤信息(controller)
<?php $this->load->helper(array('form', 'url')); //加載CI表單驗證庫 $this->load->library('form_validation'); //---------------------------------------- # 驗證規則及錯誤信息代碼放在這里 //---------------------------------------- if ($this->form_validation->run() == FALSE){ //提交失敗 重新加載表單部分 $this->load->view('myform'); }else{ //提交成功 表單處理 //跳轉成功頁面 $this->load->view('formsuccess'); } }
5、錯誤信息的輸出函數(view)
<?php //1.一股腦兒的全部輸出(放在表單標簽的上方即可) echo validation_errors(); //2.針對單個表單單獨輸出(放在單個標簽附近 參數為對應表單元素的域名) echo form_error('password'); //3.針對單個表單輸出的時候 需要修改定界符 顯示錯誤信息樣式(控制器里設置) $this->form_validation->set_error_delimiters('<span class="error">', '</span>'); //設置成內聯元素比較好 ?>
6、錯誤后 重新回填表單(view)
<?php //一般元素 回填(放在標簽的values屬性中輸出) echo set_value('email'); //特殊元素select/checkbox/radio 第三個參數為true時 默認被選中 //第二個參數 是對應的表單元素的實際值 echo set_select('myselect', 'three'); //放在option的空白屬性里 echo set_checkbox('mycheck[]', '1'); //放在checkbox的空白屬性里 echo set_radio('myradio', '2'); //放在radio的空白屬性里 ?>
html代碼:
<html> <head> <title>My Form</title> </head> <body> <?php echo validation_errors(); ?> <?php echo form_open('form'); ?> <h6>Username</h6> <input type="text" name="username" value="<?php echo set_value('username'); ?>" size="50" /> <?php echo form_error('username'); ?> <h6>Password</h6> <input type="text" name="password" value="<?php echo set_value('password'); ?>" size="50" /> <?php echo form_error('password'); ?> <h6>Password Confirm</h6> <input type="text" name="passconf" value="<?php echo set_value('passconf'); ?>" size="50" /> <?php echo form_error('passconf'); ?> <h6>Email Address</h6> <input type="text" name="email" value="<?php echo set_value('email'); ?>" size="50" /> <?php echo form_error('email'); ?> <div><input type="submit" value="Submit" /></div> </form> </body> </html>
感謝各位的閱讀!關于“CI框架如何實現表單驗證”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。