您好我有一个更改密码页面。
我有2 textboxes
,New Password
和Confirm Password
。
两者都有requiredFieldValidators
。
一个compareValidator
。
但是,当我键入第一个字段New Password
时,第二个文本框的requiredFieldValidator
和CompareValidator
会同时显示错误消息。
我只想显示requiredFieldValidator
,并且只有当验证器返回true时,我才想验证compareValidator
。
我怎样才能做到这一点。以下是我的代码。
<table class="editAccTable">
<tr>
<td>
New Password<br />
<asp:TextBox ID="txtNewPwd" runat="server" TextMode="Password" Width="204px"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="rfvNewPwd" runat="server"
ControlToValidate="txtNewPwd"
ValidationGroup="vgChangePwd"
Display="Dynamic"
></asp:RequiredFieldValidator>
</td>
<td>
Confirm New Password<br />
<asp:TextBox ID="txtConfPwd" runat="server" TextMode="Password" Width="204px"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="rfvConfPwd" runat="server"
ControlToValidate="txtConfPwd"
ValidationGroup="vgChangePwd"
Display="Dynamic"
></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvChangePwd" runat="server"
ValidationGroup="vgChangePwd"
ControlToValidate="txtNewPwd"
ControlToCompare="txtConfPwd"
ValueToCompare="String"
Display="Dynamic"
></asp:CompareValidator>
</td>
</tr>
<tr>
<td colspan="2">
<asp:ImageButton ID="ibtnPwdChange" runat="server"
ImageUrl="/images/submit.jpg" onclick="ibtnPwdChange_Click"
ValidationGroup="vgChangePwd"
Width="90px" Height="36px"
/>
<br />
<asp:Label ID="lblSuccessPwdChange" runat="server"></asp:Label>
</td>
</tr>
</table>
答案 0 :(得分:2)
有几项工作。
对于我的情况,我可以删除第二个文本框的requiredFieldValidator
,因为它足以只有compareValidator
。
但是在某些情况下,必须有2个验证器。在这种情况下,我们可以使用css
重叠2个验证器。
答案 1 :(得分:0)
尝试CompareValidator
这样的
<asp:CompareValidator id="cvChangePwd" runat="server" ControlToValidate="txtConfPwd" ControlToCompare="txtNewPwd" ErrorMessage="Your passwords do not match up!" Display="Dynamic" />
答案 2 :(得分:0)
将display属性设置为动态
所有验证器中的display =“dynamic”