欢迎光临

木子屋

标题: ASP.NET：使用CompareValidator控件注意事项

作者: dnawo

日期: 2011-02-22 09:01 PM

分类: Web编程

内容: 在ASP.NET2.0中，CompareValidator控件用来验证两个输入控件中的内容是否一样，与之对应有两个属性ControlToCompare和ControlToValidate，用来设置要比较的两个输入控件的名称，按理说比较应该不分先后，两个属性的设置应该没什么讲究，但实际并非如此，看下边代码：
复制内容到剪贴板 程序代码密码1:<asp:TextBox ID="txtUsp1" runat="server" TextMode="Password"></asp:TextBox>
<br />
密码2:<asp:TextBox ID="txtUsp2" runat="server" TextMode="Password"></asp:TextBox>
<asp:CompareValidator ID="cvUsp2" runat="server" ControlToCompare="txtUsp1"
ControlToValidate="txtUsp2" ErrorMessage="不一致"></asp:CompareValidator>
<br />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
测试结果：当txtUsp2值为空时CompareValidator控件不会发生作用，经多次测试，确切的说是ControlToValidate属性对应的输入控件值为空时CompareValidator控件不发生作用。
所以，CompareValidator控件也应该要RequiredFieldValidator控件配合一块使用，并且RequiredFieldValidator控件应放在ControlToValidate属性对应的输入控件上使用。示例代码：
复制内容到剪贴板 程序代码密码1:<asp:TextBox ID="txtUsp1" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvUsp1" runat="server" Display="Dynamic"
ErrorMessage="*" ControlToValidate="txtUsp1"></asp:RequiredFieldValidator>
<br />
密码2:<asp:TextBox ID="txtUsp2" runat="server" TextMode="Password"></asp:TextBox>
<asp:CompareValidator ID="cvUsp2" runat="server" ControlToCompare="txtUsp2"
ControlToValidate="txtUsp1" ErrorMessage="不一致"></asp:CompareValidator>
<br />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.629 ms

返回

标题: ASP.NET：使用CompareValidator控件注意事项

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.633 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.695 ms

返回