comparevalidator web 控件可以验证使用者输入的数据,和某个值利用比较运算。其使用语法为:
<asp:comparevalidator
id="被程序代码所控制的名称"
runat="server"
controltovalidate="要验证的控件名称"
operator="datatypecheck | equal | notequal | greaterthan |
greaterthanequal | lessthan | lessthanequal"
type="资料型别"
controltocompare="要比较的控件名称" | valuetocompare="要比较的值"
errormessage="所要显示的错误信息"
text="未通过验证时所显示的讯息"
/>
其常用属性说明如下表所示:


下列范例限制使用者所输入的年龄必需大于18 岁:
<html>
<form id="form1" runat="server">
姓名: <asp:textbox id="txtname" runat="server"/><br>
年龄: <asp:textbox id="txtage" runat="server"/>
<asp:comparevalidator id="validor1" runat="server"
controltovalidate="txtage"
valuetocompare="18"
operator="greaterthanequal"
type="integer"
text="您必须大于十八岁才可以浏览本站"/><br>
住址: <asp:textbox id="txtadd" runat="server"/><br>
<asp:button id="btnok" text="确定" onclick="btnok_click"
runat="server"/>
<asp:label id="lblmsg" runat="server"/>
</form>
<script language="vb" runat="server">
sub btnok_click(sender as object,e as eventargs)
if page.isvalid then
lblmsg.text="验证成功!"
end if
end sub
</script>
</html>

下列范例码限制使用者输入必须是整数型态的数据:
<html>
<form id="form1" runat="server">
姓名: <asp:textbox id="txtname" runat="server"/><br>
年龄: <asp:textbox id="txtage" runat="server"/>
<asp:comparevalidator id="validor1" runat="server"
controltovalidate="txtage"
operator="datatypecheck"
type="integer"
text="您必须输入数值"/><br>
住址: <asp:textbox id="txtadd" runat="server"/><br>
<asp:button id="btnok" text="确定" onclick="btnok_click"
runat="server"/>
<asp:label id="lblmsg" runat="server"/>
</form>
<script language="vb" runat="server">
sub btnok_click(sender as object,e as eventargs)
if page.isvalid then
lblmsg.text="验证成功!"
end if
end sub
</script>
</html>

上述程序并没有限制使用者一定要输入年龄的数据,若要限制只用者一定要填入数据,可以搭配requirefieldvalidator 来作验证;如下范例所示:
<html>
<form id="form1" runat="server">
姓名: <asp:textbox id="txtname" runat="server"/><br>
年龄: <asp:textbox id="txtage" runat="server"/>
<asp:comparevalidator id="validor1" runat="server"
controltovalidate="txtage"
operator="datatypecheck"
type="integer"
text="您必须输入数值"/>
<asp:requiredfieldvalidator id="validor2" runat="server"
controltovalidate="txtage"
text="必填项目"/><br>
住址: <asp:textbox id="txtadd" runat="server"/><br>
<asp:button id="btnok" text="确定" onclick="btnok_click"
runat="server"/>
<asp:label id="lblmsg" runat="server"/>
</form>
<script language="vb" runat="server">
sub btnok_click(sender as object,e as eventargs)
if page.isvalid then
lblmsg.text="验证成功!"
end if
end sub
</script>
</html>
