控制項功能
RequiredFieldValidator控制項常用於驗證文本輸入框是否為空。當用戶提交網頁中的數據到伺服器端時,系統自動檢查被驗證控制項的輸入內容是否為空,如果為空,則RequiredFieldValidator控制項在網頁中顯示提示信息。
控制項屬性
RequiredFieldValidator控制項部分常用屬性及說明如表1所示。
表1RequiredFieldValidator控制項部分常用屬性
屬性 | 描述 |
ControlToValidate | 該屬性獲取或設定要驗證的輸入控制項 |
Display | 該屬性獲取或設定驗證控制項中錯誤信息的顯示行為 |
EnableViewState | 該屬性獲取或設定一個值,該值指示伺服器控制項是否向發出請求的客戶端保持自己的視圖狀態以及它所包含的任何子控制項的視圖狀態 |
ErrorMessage | 該屬性獲取或設定驗證失敗時ValidationSummary控制項中顯示的錯誤信息的文本 |
ForeColor | 該屬性獲取或設定驗證失敗後顯示的訊息的顏色 |
IsValid | 該屬性獲取或設定一個值,該值指示關聯的輸入控制項是否通過驗證 |
SetFocusOnError | 該屬性獲取或設定一個值,該值指示在驗證失敗時是否將焦點設定到ControlToValidate屬性指定的控制項上 |
Text | 該屬性獲取或設定驗證失敗時驗證控制項中顯示的文本 |
Page | 該屬性獲取對包含伺服器控制項的 Page實例的引用 |
Visible | 該屬性獲取或設定一個值,該值指示伺服器控制項是否作為 UI呈現在頁上 |
下面對比較重要的屬性進行詳細介紹。
(1)ControlToValidate屬性
該屬性獲取或設定要驗證的輸入控制項。
語法:
public string ControlToValidate { get; set; } |
屬性值:
要驗證的輸入控制項。默認值為 String.Empty,表示未設定此屬性。
例如:要驗證ID屬性為txtUserName的TextBox控制項,只要將RequiredFieldValidator控制項的ControlToValidate屬性設定為txtUserName。代碼如下:
this.RequiredFieldValidator1.C; |
說明:使用 ControlToValidate屬性來指定要驗證的輸入控制項。對於所有驗證控制項,此屬性必須設定為輸入控制項的ID(CustomValidator控制項除外,對它來說,此屬性可以保留為空白)。如果沒有指定有效輸入控制項,則在呈現該頁時將引發異常。該ID必須引用與驗證控制項相同的容器中的控制項。
(2)Display屬性
該屬性獲取或設定驗證控制項中錯誤信息的顯示行為。
語法:
public ValidatorDisplay Display { get; set; } |
屬性值:
ValidatorDisplay 值之一。默認值為Static。ValidatorDisplay值是一個枚舉值表示驗證控制項中錯誤信息的不同顯示行為。ValidatorDisplay枚舉值及說明如表2所示。
表2ValidatorDisplay枚舉值及說明
枚舉值 | 描述 |
Dynamic | 驗證失敗時動態添加到頁面中的驗證程式內容 |
None | 從不內聯顯示的驗證程式內容 |
Static | 作為頁面布局的物理組成部分的驗證程式內容 |
(3)ErrorMessage屬性
該屬性獲取或設定驗證失敗時ValidationSummary控制項中顯示的錯誤信息的文本。
語法:
public string ErrorMessage { get; set; } |
屬性值:
驗證失敗時ValidationSummary 控制項中顯示的錯誤信息。默認值為空字元串 (""),指示尚未設定此屬性。
例如:設定TextBox控制項中輸入內容不能為空,將RequiredFieldValidator控制項的錯誤訊息提示文本設定為“文本框中輸入內容不能為空”。代碼如下:
this.RequiredFieldValidator1.ErrorMessage ="文本框中輸入內容不能為空"; |
(4)Text屬性
該屬性獲取或設定驗證失敗時驗證控制項中顯示的文本。
語法:
public override string Text { get; set; } |
屬性值:
驗證失敗時驗證控制項中顯示的文本。默認值為空字元串(""),表示尚未設定此屬性。
(5)EnableViewState屬性
該屬性獲取或設定一個值,該值指示伺服器控制項是否向發出請求的客戶端保持自己的視圖狀態,以及它所包含的任何子控制項的視圖狀態。
語法:
public virtual bool EnableViewState { get; set; } |
屬性值:
如果伺服器控制項維護自己的視圖狀態,則為true;否則為 false。默認為true。
(6)ForeColor屬性
該屬性獲取或設定控制項的前景色。
語法:
public override Color ForeColor { get; set; } |
屬性值:
表示控制項前景色的System.Drawing.Color。默認為Red。
例如:設定RequiredFieldValidator控制項前景色為“綠色”。代碼如下:
RequiredFieldValidator1.ForeColor =System.Drawing.Color.Green; |
(7)IsValid屬性
該屬性獲取或設定一個值,該值指示關聯的輸入控制項是否通過驗證。
語法:
public bool IsValid { get; set; } |
屬性值:
如果關聯的輸入控制項通過驗證,則為true;否則為false。默認值為true。
(8)SetFocusOnError屬性
該屬性獲取或設定一個值,該值指示在驗證失敗時是否將焦點設定到ControlToValidate屬性指定的控制項上。
語法:
public bool SetFocusOnError { get; set; } |
屬性值:
如果在驗證失敗時將焦點設定到ControlToValidate指定的控制項上,則為true;否則為false。默認為false。
(9)Page屬性
該屬性獲取對包含伺服器控制項的Page實例的引用。
public virtual PagePage { get; set; } |
屬性值:
包含伺服器控制項的Page實例。
(10)Visible屬性
該屬性獲取或設定一個值,該值指示伺服器控制項是否作為UI呈現在Web頁面上。
語法:
public virtual bool Visible { get; set; } |
屬性值:
如果控制項在Web頁上可見,則為 rue;否則為false。
3.方法RequiredFieldValidator控制項部分常用方法及說明如表3所示。
表3RequiredFieldValidator控制項部分常用方法
方法 | 描述 |
FindControl | 在當前的命名容器中搜尋指定的伺服器控制項 |
Focus | 為控制項設定輸入焦點 |
IsVisibleOnPage | 返回一個值,該值指示控制項在窗體的分頁上是否可見。用於窗體分頁 |
PaginateRecursive | 對此控制項及其子控制項進行分頁 |
ResolveClientUrl | 獲取瀏覽器可以使用的URL |
ResolveUrl | 將URL轉換為在請求客戶端可用的URL |
ToString | 返回表示當前Object的String |
Validate | 執行控制項驗證,然後根據驗證的結果設定IsValid屬性 |
下面對比較重要的方法進行詳細介紹。
(1)IsVisibleOnPage方法
用於窗體分頁。此方法返回一個值,該值指示控制項在窗體的分頁上是否可見。
語法:
public bool IsVisibleOnPage (int pageNumber) |
參數:
pageNumber:頁碼。
返回值:如果控制項在窗體的分頁可見,則為true;否則為false。
(2)ResolveClientUrl方法
此方法獲取瀏覽器可以使用的URL。
語法:
public string ResolveClientUrl (string relativeUrl) |
參數:
relativeUrl:相對於當前頁的URL。
返回值:適合用於瀏覽器的指定資源的完全限定URL。
4.事件RequiredFieldValidator控制項部分常用事件及說明如表4所示。
表4RequiredFieldValidator控制項部分常用事件
事件 | 描述 |
DataBinding | 此事件當伺服器控制項綁定到數據源時發生 |
Disposed | 此事件當從記憶體釋放伺服器控制項時發生,這是請求 ASP.NET 頁時伺服器控制項生存期的最後階段 |
Init | 此事件當伺服器控制項初始化時發生;初始化是控制項生存期的第一步 |
Load | 此事件當伺服器控制項載入到 Page 對象中時發生 |
PreRender | 此事件在載入 Control 對象之後、呈現之前發生 |
Unload | 此事件當伺服器控制項從記憶體中卸載時發生 |
下面對比較重要的事件進行詳細介紹。
(1)Init事件
此事件當伺服器控制項初始化時發生,初始化是控制項生存期的第一步。
語法:
public event EventHandler Init |
(2)Load事件
此事件當伺服器控制項初始化時發生,初始化是控制項生存期的第一步。
語法:
public event EventHandler Load |
5.典型實例例1驗證TextBox控制項是否為空本例通過設定RequiredFieldValidator控制項的ControlToValidate屬性和ErrorMessage屬性來驗證文本框中輸入的內容不能為空。代碼如下。
<asp:RequiredFieldValidatorID="RequiredFieldValidator4" runat="server" C ErrorMessage="*信箱不能為空"></asp:RequiredFieldValidator> <asp:RequiredFieldValidatorID="RequiredFieldValidator5" runat="server" C ErrorMessage="*電話不能為空"></asp:RequiredFieldValidator> |
例2驗證DropDownList控制項是否為空
本例使用RequiredFieldValidator控制項驗證DropDownList控制項選項是否為空。運行本實例,在姓名文本框中輸入姓名,然後單擊【提交】按鈕。
代碼如下。
<asp:RequiredFieldValidatorID="RequiredFieldValidator1" runat="server" C ErrorMessage="性別選項不能為空"Width="161px"></asp:RequiredFieldValidator> |