程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 在ASP.NET的Form中檢查填寫是否正確

在ASP.NET的Form中檢查填寫是否正確

編輯:關於ASP.NET

3.1 ASP.net解決了ASP的難題:驗證表單填寫的正確性

如今的商業網站,或者個人網站,多少都有客戶調查啊,用戶注冊之類的東西,必然會用到表單,這些表單的填寫正確與否,明顯是由手寫代碼的方式來控制的。我承認編寫代碼,是一項有趣的工作,不過每次驗證表單都來手寫代碼,我們希望提高我們的工作效率,並不是把我們很有限的時間花在表單的驗證工作上。

基於另外的一些原因,Web應用程序很不好驗證用戶的輸入,HTML 3.2 規范可以讓你控制用戶的反饋,但惡意的或者技術高超的用戶可以繞過,因此即使有了浏覽器端的手寫代碼,服務器端同樣也需要驗證,才能保證安全。

下面是微軟的工作人員,給出的商業網站用手寫代碼控制表單驗證的弊病。

1.盡管錯誤信息或圖標經常與輸入元素相鄰,但是它們幾乎總是位於表的不同單元格中。

2.頁面中經常會有一個區域來匯總所有錯誤。

3.許多站點包含客戶端腳本,以便提供更快捷的反饋,同時防止白白地在與服務器之間往返。

4.許多包含客戶端腳本的站點在出現錯誤時會顯示信息框。

5.不僅會驗證文本輸入,還會驗證下拉列表和單選按鈕。

6.如果某個字段為空,站點通常會顯示與該條目無效時不同的信息或圖標。

7.許多有效性檢查可以很好地代替常用的表達式。

8.驗證通常是基於兩個輸入之間的比較結果。

9.90% 或 90% 以上的驗證任務是一些常見的操作,例如檢查姓名或郵政編碼。大多數站點似乎仍在重復進行這些工作。

10.因為站點之間的差別通常太大,無法獲得一種完美的解決方案來處理每個站點的所有驗證任務。

如果你想向你的同事證實你有一種很"酷"的方法,可以禁止在姓名字段裡面輸入空值,記得選擇ASP.net,並且看下面的教程。

3.2 ASP.net進行表單驗證的過程

1.aspx文件被編譯,運行

2.用戶輸入數據

3.觸發Page_Load事件

4.更改Web控件屬性,提示哪裡沒有輸入

5.將頁面用Html重新輸出給用戶

6.再次提醒用戶輸入

3.3 Page_Load 過程

Page 對象包含一些與服務器端驗證有關的重要屬性和方法。下表列出了Page_Load屬性的所有Collect和methed。

Page_Load方法名 說明 IsValid(最經常使用) 這是最有用的屬性。該屬性可以檢查整個表單是否有效。通常在更新數據庫之前進行該檢查。只有 Validators 集中的所有對象全部有效,該屬性才為真,並且不將該值存入緩存 。 Validators 該頁所有驗證對象的集合。這是實現 IValidator 界面的對象的集合。 Validate 在驗證時調用的一種方法。在 Page 對象上默認的執行方式是轉至每個驗證器,並要求各驗證器自行評估。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved