PHP Form表單驗證:PHP form validator使用說明

來源:互聯網
上載者:User

  在PHP網站開發建設中,使用者註冊、留言是必不可少的功能,使用者提交的資訊資料都是通過Form表單提交,為了保證資料的完整性、安全性,PHP Form表單驗證是過濾資料的首要環節,PHP對錶單提交資料的驗證方式多種多樣,早期一般使用Javascript對PHP表單進行驗證,隨著WEB2.0時代的到來,考慮到使用者體驗,使用Jquery Form表單驗證外掛程式是常用手法,今天我要介紹的是一個PHP表單驗證類PHP form validator,其可應用於一般的PHP表單驗證,也可以和第三方程式或Javascript整合進行表單驗證,更可以自訂具體的PHP表單驗證規則,PHP form validator使用起來非常方便。

  PHP form validator表單驗證類使用說明

  1、下載PHP form validator,並解壓至PHP環境配置設定的網站運行目錄

  2、建立一個有待驗證的Form表單,建立最常用的選項,比如使用者名稱,Email,留言框等,具體的PHP表單驗證執行個體源碼如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
require_once"formvalidator.php";
$show_form=true;
if(isset($_POST['Submit']))
{
    $validator=new FormValidator();
    $validator->addValidation("Name","req","請填寫使用者名稱");
    $validator->addValidation("Email","email","請填寫正確的Email地址");
    $validator->addValidation("Email","req","請填寫Email地址");
    if($validator->ValidateForm())
    {
        echo"PHP表單驗證成功,謝謝你對www.leapsoul.cn的支援";
        $show_form=false;
    }
    else
    {
        echo"錯誤提示:";
 
        $error_hash=$validator->GetErrors();
        foreach($error_hashas$inpname=>$inp_err)
        {
          echo"<p>$inpname : $inp_err</p>\n";
        }
    }
}
 
if(true==$show_form)
{
?>
<form name='test' method='POST' action='' accept-charset='UTF-8'>
Name: <input type='text' name='Name' size='20'>
Email: <input type='text' name='Email' size='20'>
<input type='submit' name='Submit' value='Submit'>
</form>
<?php
}//true == $show_form
?>

  PHP form validator表單驗證源碼執行個體解讀

  第1行:要啟用PHP form validator表單驗證類,首先第一步需要將formvalidator.php require進來。

  第3行:$show_form是用來控製表單顯示的開關,預設顯示表單。

  第6~9行:當提交需要驗證處理的表單時,首先建立一個PHP表單驗證類的實體,並添加表單中需要驗證的選項,在代碼執行個體中主要驗證使用者名稱(Name)和Email地址兩個選項。

  addValidation函數的三個參數特別說明:第一個參數代表需要驗證的表單中的項目,即input name;第二個參數代表驗證的規則描述,比如必填、字元長短等,各種驗證規則下面會介紹;第三個參數代表當表單驗證不通過時需要顯示的錯誤資訊。

  第10~24行:通過PHP form validator表單驗證類的ValidateForm()函數來判斷表單是否通過驗證,如果沒有通過驗證則顯示錯誤資訊,這段代碼自由度很大,你可以根據需要修改,比如跳轉到具體頁面都是可以實現的。

  至此,PHP form validator表單驗證類最基礎的使用方法就介紹完了,如果其定義的表單驗證規則不符合你的需要,你可以自行定製具體的驗證規則,方法如下

  1、建立一個繼承了自訂驗證類CustomValidator的子類,比如MyValidator,並重寫DoValidate()函數功能,即

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
class MyValidator extends CustomValidator
{
    function DoValidate(&$formars,&$error_hash)
    {
        if(stristr($formars['Comments'],'http://'))
        {
            $error_hash['Comments']="留言內容不能有URL地址";
            returnfalse;
        }
    returntrue;
    }
}
?>

  在上述代碼中自訂了一個表單驗證規則,即留言內容中不能包含URL地址。

  2、將自訂的表單驗證規則添加到已有的表單驗證規則中,即

1
2
3
4
5
6
7
$validator=new FormValidator();
    $validator->addValidation("Name","req","請填寫使用者名稱");
    $validator->addValidation("Email","email","請填寫正確的Email地址");
    $validator->addValidation("Email","req","請填寫Email地址");

    $custom_validator=new MyValidator();
    $validator->AddCustomValidator($custom_validator);

  自訂的表單驗證規則在其他表單驗證結束後會自動調用。

  至此,PHP form validator表單驗證類的自訂驗證規則的使用方法就介紹完了,除此之外PHP form validator表單驗證類還可以結合Javascript或第三方JS、PHP類庫進行表單驗證,擴充性非常強,更多PHP form validator表單驗證執行個體請參考下載檔案中的範例程式碼。下面介紹PHP form validator表單驗證類的預設驗證規則

  PHP form validator表單驗證類的驗證規則說明

  req 必填
  maxlen=??? 檢查輸入資料的最大長度為多少,比如允許最大長度為25,則給出maxlen=25的驗證描述
  minlen=??? 檢查輸入資料的最小長度為多少,比如允許最小長度為5
  alnum 只允許字母和數字
  alnum_s 只允許字母、數字及空格
  num 檢查數字資料
  alpha 檢查字母資料
  alpha_s 允許字母和空格
  email 有效Email地址

  lt=???
  lessthan=??? 驗證資料是否小於給定的值,只適用於數字欄位,比如,如果值小於1000,即lt=1000

  gt=???
  greaterthan=??? 驗證資料是否大於給定的值,只適用於數字欄位,比如,如果值大於10,即lt=10

  regexp=??? 驗證資料是否與給定的Regex匹配
  dontselect=?? 驗證是否選擇了select選項,select選項列表中有一個選項是”請選擇”。如果不能選擇的選項是”請選擇”,需要將dontselect值設定為”請選擇”
  dontselectchk 這個驗證描述是針對check boxes(複選框),使用者不能選擇設定的複選框
  shouldselchk 使用者需選擇設定的複選框
  dontselectradio 這個驗證描述是針對radio button(選項按鈕),使用者不能選擇設定的選項按鈕
  selectradio 使用者需選擇給定的選項按鈕
  selmin=?? 複選框組中至少要選擇多少個複選框,比如selmin=3
  selone 使用者至少需從選項按鈕組中選擇一項
  eqelmnt=??? 比較Form表單中的兩個元素並確認值是否相同,比如”密碼”(password)和”確認密碼”(confirm password),替代???的值以input element的name為準,比如eqelmnt=confirm_pwd

  OK,PHP form validator表單驗證類的驗證規則說明就介紹完了,翻譯得不好或理解有問題的不妨多動手或留言。

  只要示範下PHP form validator表單驗證類中的幾個驗證樣本,你會發現其使用者體驗絕不比Jquery之類的表單驗證外掛程式差,而且自訂PHP表單驗證也非常方便實用。

  :PHP網站開發教程-leapsoul.cn著作權,轉載時請以連結形式註明原始出處及本聲明,謝謝。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.