RequiredFieldValidator控件2010-07-06 23:09
3.2 使用RequiredFieldValidator控件
RequiredFieldValidator控件用于要求用戶在提交表單前為表單字段輸入值。使用Required- FieldValidator控件時(shí),必須設(shè)置兩個(gè)重要的屬性:
q ControlToValidate——被驗(yàn)證的表單字段的ID。
q Text——驗(yàn)證失敗時(shí)顯示的錯(cuò)誤信息。
代碼清單3-7中的頁面展示了如何使用RequiredFieldValidator控件來要求用戶輸入名和姓(見圖3-5)。
圖3-5 要求用戶輸入表單字段值
代碼清單3-7 ShowRequiredFieldValidator.aspx
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Show RequiredFieldValidator</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label
id="lblFirstName"
Text="First Name:"
AssociatedControlID="txtFirstName"
Runat="server" />
<br />
<asp:TextBox
id="txtFirstName"
Runat="server" />
<asp:RequiredFieldValidator
id="reqFirstName"
ControlToValidate="txtFirstName"
Text="(Required)"
Runat="server" />
<br /><br />
<asp:Label
id="lblLastName"
Text="Last Name:"
AssociatedControlID="txtLastName"
Runat="server" />
<br />
<asp:TextBox
id="txtLastName"
Runat="server" />
<asp:RequiredFieldValidator
id="reqLastName"
ControlToValidate="txtLastName"
Text="(Required)"
Runat="server" />
<br /><br />
<asp:Button
id="btnSubmit"
Text="Submit"
Runat="server" />
</div>
</form>
</body>
</html>
RequiredFieldValidator控件默認(rèn)檢查非空字符串(空格不算在內(nèi))。在RequiredFieldValidator關(guān)聯(lián)的表單字段中輸入任何字符,該RequiredFieldValidator控件就不會(huì)顯示它的驗(yàn)證錯(cuò)誤信息。
可以使用RequiredFieldValidator控件的InitialValue屬性來指定空字符串之外的默認(rèn)值。例如,代碼清單3-8中的頁面使用RequiredFieldValidator控件來驗(yàn)證DropDownList控件(見圖3-6)。
圖3-6 使用RequiredFieldValidator控件驗(yàn)證DropDownList控件
代碼清單3-8 ShowInitialValue.aspx
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void btnSubmit_Click(Object sender, EventArgs e)
{
if (Page.IsValid)
lblResult.Text = dropFavoriteColor.SelectedValue;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Show Initial Value</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label
id="lblFavoriteColor"
Text="Favorite Color:"
AssociatedControlID="dropFavoriteColor"
Runat="server" />
<br />
<asp:DropDownList
id="dropFavoriteColor"
Runat="server">
<asp:ListItem Text="Select Color" Value="none" />
<asp:ListItem Text="Red" Value="Red" />
<asp:ListItem Text="Blue" Value="Blue" />
<asp:ListItem Text="Green" Value="Green" />
</asp:DropDownList>
<asp:RequiredFieldValidator
id="reqFavoriteColor"
Text="(Required)"
InitialValue="none"
ControlToValidate="dropFavoriteColor"
Runat="server" />
<br /><br />
<asp:Button
id="btnSubmit"
Text="Submit"
Runat="server" OnClick="btnSubmit_Click" />
<hr />
<asp:Label
id="lblResult"
Runat="server" />
</div>
</form>
</body>
</html>
DropDownList控件顯示的第一個(gè)列表項(xiàng)顯示文本"Select Color"。如果沒有在這個(gè)DropDownList控件中選擇顏色就提交表單的話,則會(huì)顯示一個(gè)驗(yàn)證錯(cuò)誤。
注意RequiredFieldValidator控件擁有一個(gè)InitialValue屬性,DropDownList控件的第一個(gè)列表項(xiàng)的值賦給了該屬性。
聯(lián)系客服