资料验证与更多的基本控制项.pptVIP

  • 2
  • 0
  • 约2.44千字
  • 约 20页
  • 2019-11-14 发布于湖北
  • 举报
Asp.Net 講義 Week 15 第6章 資料驗證與更多的基本控制項 6-1 資料驗證的基礎 6-2 基本的驗證控制項 6-3 進階的驗證控制項 6-4 Panel容器控制項 6-5 Image圖片控制項 6-6 HyperLink超連結控制項 6-1 資料驗證的基礎 6-1-1 ASP.NET驗證控制項 6-1-2 伺服端或客戶端的資料驗證 6-1 資料驗證的基礎 資料驗證(Validation)對於Web Form表單的輸入介面來說,是一件十分重要的工作,因為使用者輸入的資料常常可能發生錯誤,例如:忘了輸入資料、資料範圍錯誤或格式不正確,錯誤的資料輕者只是顯示錯誤;嚴重時有可能影響整個ASP.NET網站的執行。 6-1-1 ASP.NET驗證控制項-說明 在ASP.NET提供「驗證控制項」(Validation Controls)可以自動建立伺服端或客戶端的資料驗證功能,幫助我們執行Web Form表單的資料驗證。 事實上,驗證控制項單獨存在並沒有意義,我們需要將驗證控制項和輸入或選擇控制項結合起來,以便執行指定控制項的資料驗證。而且,多個驗證控制項可以同時針對一個資料輸入控制項進行資料驗證。 6-1-1 ASP.NET驗證控制項-種類 ASP.NET提供多種不同功能的驗證控制項,如下表所示: 6-1-1 ASP.NET驗證控制項-共通屬性 在ASP.NET的各種驗證控制項都擁有一些共通屬性,常用的共通屬性,如下表所示: 6-1-2 伺服端或客戶端的資料驗證-說明 ASP.NET驗證控制項可以使用EnableClientScript屬性來決定是否自動建立客戶端資料驗證的Jscript程式碼,或只能使用伺服端資料驗證,其說明如下所示: 客戶端資料驗證(Client-Side Validation):尚未送到伺服端前,在客戶端瀏覽程式進行檢查,即使用Jscript程式碼執行資料檢查。 伺服端資料驗證(Server-Side Validation):伺服端資料驗證是在資料送到伺服端後,才進行資料檢查。 6-1-2 伺服端或客戶端的資料驗證- Page物件的IsValid屬性 當Web Form表單擁有驗證控制項時,ASP.NET網頁可以使用Page物件的IsValid屬性,來確認表單是否通過驗證,如下所示: If Page.IsValid Then ……… End If 上述If條件在確認IsValid屬性為True時,就表示通過驗證,接著可以執行Web Form表單的欄位處理。 6-1-2 伺服端或客戶端的資料驗證- Button控制項的CausesValidation屬性 Button控制項的CausesValidation屬性可以決定Web Form表單是否執行驗證控制項的資料驗證,如果屬性值為False,表示當表單送回時,忽略驗證控制項的資料驗證;預設值True是需要執行資料驗證。 6-2 基本的驗證控制項 6-2-1 RequiredFieldValidator控制項 6-2-2 CompareValidator控制項 6-2-3 RangeValidator控制項 6-2-4 ValidationSummary控制項 6-2-1 RequiredFieldValidator控制項-說明 RequiredFieldValidator控制項可以檢查控制項是否忘了輸入資料或沒有選取選項,或不允許輸入指定值。例如:必須輸入使用者名稱;密碼不允許是1234等。 RequiredFieldValidator控制項除了共通屬性外的相關屬性,如下表所示: 6-2-1 RequiredFieldValidator控制項-網頁範例 網頁範例:Ch6-2-1.aspx 在ASP.NET網頁使用RequiredFieldValidator控制項,來檢查TextBox控制項一定需要輸入資料,並且使用InitialValue屬性來建立欄位說明文字。其執行結果如下圖所示: 6-2-2 CompareValidator控制項-說明 CompareValidator控制項可以比較兩個控制項的值,或與指定常數值進行比較,例如:輸入2次密碼需相同,或年齡需要一定大於等於18等。控制項除了共通屬性外的相關屬性,如下表所示: 6-2-2 CompareValidator控制項-Operator屬性 Operator屬性可以指定比較運算子,如下表所示: 6-2-2 CompareValidator控制項-網頁範例 網頁範例:Ch6-2-2.aspx 在ASP.NET網頁新增3個TextBox控制項來輸入年齡和密碼資料後,新增2個CompareValidator驗證控制項來檢查輸入密碼是否相同,和年齡需大於等於18。其執行結果如下圖所示:

文档评论(0)

1亿VIP精品文档

相关文档