4.2 表单验证控件:RequiredFieldValidator
表单验证控件RequiredFieldValidator是所有验证控件中最为常用和最简单的一个控件,它只需要确保相关的数据输入控件的数据不为空即可。如果数据输入控件的数据为空,则验证将不通过,并返回给用户相关提示信息。可以将提示信息设置在Text属性里,或者设置在ErrorMessage属性里(一般应用于验证组)。如代码清单4-1所示。
代码清单4-1 TestRequiredFieldValidator.aspx
<form id="form1"runat="server">
<div>
<asp:TextBox ID="Text1"Text="请输入文本"runat="server"/>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator1"
ControlToValidate="Text1"
Text="文本输入不能够为空"
runat="server"Display="Static"/>
<p/>
<asp:Button ID="Button1"runat="server"Text="数据提交"/>
</div>
</form>
在代码清单4-1中,声明了一个TextBox控件Text1用于用户输入文本,它的默认值设置为“请输入文本”。并通过设置RequiredFieldValidator验证控件的属性ControlToValidate="Text1"来将Text1文本输入控件关联到验证控件Req uir edF ieldVali dator 1。如果Text 1控件的文本为空,RequiredFieldValidator1验证控件将不通过验证,并返回它的Text属性的值(即“文本输入不能够为空”)来作为提示信息给用户,如图4-2所示。
当然,也可以不默认为空值验证,通过使用它的InitialValue属性来指定一个默认值。在这种情况下,如果输入控件的内容和InitialValue属性的值相匹配,则验证失败,即表示用户没有通过任何方式改变它。如下面的代码所示:
<form id="form1"runat="server">
<div>
<asp:TextBox ID="Text1"Text="请输入文本"runat="server"/>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator1"
ControlToValidate="Text1"
Text="文本输入不能够为空"
runat="server"Display="Static"InitialValue="请输入文本"/>
<p/>
<asp:Button ID="Button1"runat="server"Text="数据提交"/>
</div>
</form>
运行上面的代码,结果如图4-3所示。
图 4-2 Tes tRe qui red Fie ldV ali dator.asp x运行结果1
图 4-3 Tes tRe qui red Fie ldV ali dator.asp x运行结果2
除了可以将提示信息设置在Text属性或者设置在ErrorMessage属性里之外,还可以通过下面的方法来设置验证的提示信息,运行结果与图4-3一样。
<form id="form1"runat="server">
<div>
<asp:TextBox ID="Text1"Text="请输入文本"runat="server"/>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator1"
ControlToValidate="Text1"
runat="server"
Display="Static"
InitialValue="请输入文本">
文本输入不能够为空
</asp:RequiredFieldValidator>
<p/>
<asp:Button ID="Button1"runat="server"Text="数据提交"/>
</div>
</form>