validation control驗證控件介紹(原創axa from yunfu)
用戶的輸入存在2類問題:
1.錯誤輸入:例如將郵箱寫成123tom.com,沒加上“@”;
2.惡意輸入:如果設計者沒有對這種輸入做防備,別人就可能利用惡意輸入,在沒有用戶名和密碼的情況下進入你的數據庫。(可以怎樣惡意輸入呢?這裡就不研究了)
ASP.Net 2.0 解決這些問題有幾個思想(結合一起使用):
1.使用Validation controls:使用戶的輸入必需符合你設定的要求,如果不符合Validation controls就會不執行數據操作。
2.使用只能選擇的控件。
3.使用帶參數的SQL語句,而不是將用戶輸入作為語句的一部分。
4.在數據庫中約束輸入的類型。
什麼是Validation Controls?
在我們注冊用戶時,通常要輸入兩次密碼,如果兩次輸入不同就會給出提示,注冊就不能成功,要重新輸入。在這個例子中Validation Controls就是用來提示和驗證兩次輸入相同的控件。當然他的功能還有很多,大家在實踐中就會體現到。
Validation controls是服務器端的代碼。這就是說用戶提交後,驗證是在服務器端進行的。
試一試1:
在這個實踐中,我將會驗證一個文本框中的輸入是不是空。
1.新建一個ASPx頁面。
2.在工具箱(標准控件)中拖一個TextBox和Button控件到頁面。TextBox的ID設為NameTextBox。Button的Text設為Submit,並確寶其UseSubmitBehavior屬性為true。
3.再在工具箱(驗證控件)中拖一個FIEldValidator控件到頁面。將其ControlToValidate設為NameTextBox,Text設為Please enter your name。
生成的代碼如下:
... <h2>Chapter 13 TIO #1301 Simple Validation</h2>
<form id="form1" runat="server"> <div>
<asp:TextBox ID="NameTextBox" runat="server"></ASP:TextBox><br />
<ASP:RequiredFIEldValidator ID="NameRequiredValidationcontrol1 "
runat="server"
ControlToValidate="NameTextBox"
Text="Please enter your name">
</ASP:RequiredFIEldValidator control><br />
<ASP:Button ID="Button1" runat="server" Text="Submit" />
</div></form></body></Html>
在浏覽器中運行該頁面,驗證控件開始是不會顯示出來的。當你按下按扭,驗證控件會檢查在ControlToValidate中指定的控件是否符合設定的要求(RequiredFIEldValidator控件檢查是不是為空)。當你在TextBox中什麼都不輸入,按下Button看看如何。