为何CompareValidator控件没有起作用

book_Haoye 2006-10-30 11:25:55
代码如下:
<tr style="COLOR: #003399; BACKGROUND-COLOR: #ffffff">
<td align="right" width="120">用户密码:</td>
<td><asp:textbox id="txtPassword" Runat="server" MaxLength="255" Width="250" TextMode="Password" CssClass="myText"></asp:textbox><FONT face="宋体" color="#ff0066">*
<asp:requiredfieldvalidator id="rfvPassword" runat="server" ErrorMessage="此项不能为空!" ControlToValidate="txtPassword"></asp:requiredfieldvalidator></FONT></td></tr>
<tr style="COLOR: #003399; BACKGROUND-COLOR: #ffffff">
<td align="right" width="120">确认密码:</td>
<td><asp:textbox id="txtConfirmPassword" Runat="server" MaxLength="255" TextMode="Password" Width="250" CssClass="myText"></asp:textbox><FONT face="宋体" color="#ff0066">*
<asp:CompareValidator id="cvConfirmPassword" runat="server" ErrorMessage="两次输入的密码不一致!" ControlToValidate="txtConfirmPassword" ControlToCompare="txtPassword" Type="String" Operator="Equal" /></FONT></td></tr>

要求是输入的两次密码必须一致,但是输入"用户密码",而不输入"确认密码"时,CompareValidator没有起作用,是我的用法不正确吗??
...全文
185 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
houlinghouling 2006-10-31
  • 打赏
  • 举报
回复
改为
<table>
<tr style="COLOR: #003399; BACKGROUND-COLOR: #ffffff">
<td align="right" width="120">用户密码:</td>
<td><asp:textbox id="txtPassword" Runat="server" MaxLength="255" Width="250" TextMode="Password"
CssClass="myText"></asp:textbox><FONT face="宋体" color="#ff0066">*
<asp:requiredfieldvalidator id="rfvPassword" runat="server" ErrorMessage="此项不能为空!" ControlToValidate="txtPassword"></asp:requiredfieldvalidator></FONT></td>
</tr>
<tr style="COLOR: #003399; BACKGROUND-COLOR: #ffffff">
<td align="right" width="120">确认密码:</td>
<td><asp:textbox id="txtConfirmPassword" Runat="server" MaxLength="255" TextMode="Password" Width="250"
CssClass="myText"></asp:textbox><FONT face="宋体" color="#ff0066">*
<asp:CompareValidator id="cvConfirmPassword" runat="server" ErrorMessage="两次输入的密码不一致!" ControlToValidate="txtConfirmPassword"
ControlToCompare="txtPassword" Type="String" Operator="Equal" /></FONT></td>
</tr>
<tr>
<td>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ControlToValidate="txtConfirmPassword"
ErrorMessage="两次输入的密码不一致!"></asp:RequiredFieldValidator></td>
</tr>
</table>
shalen520 2006-10-31
  • 打赏
  • 举报
回复
再加一个requiredfiledvalidator
copine 2006-10-31
  • 打赏
  • 举报
回复
两个字段controltovalidate controltocompare你可以这样理解你要验证的值实际上是controltovalidate的value,或者这个value=comtroltocompare.value或者这个value为空那么验证结果都为validate否则就是invalidate,所以你看到的行为正是这个控件的的特性,其实regularexpressionvalidator的行为也类似啊,空值的时候不做验证,如果你不希望他为空的话,可以再加一个requiredfiledvalidator.
book_Haoye 2006-10-31
  • 打赏
  • 举报
回复
谢谢各位!!!
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-30 11:25
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。