我正在使用更改密码向导来更改密码。是否有任何方法来检查输入的密码和新密码是否相同,如果它们相同,则显示错误消息?我尝试使用代码但它提供了错误消息,并且还提供了一条成功消息,指出密码已更改。是否可以使用一些比较验证器来检查这些值?
答案 0 :(得分:2)
在更改密码网页上再添加一个验证器。 尝试以下验证器:
<asp:CompareValidator ID="CompareValidator1"
runat="server"
ControlToCompare="NewPassword" // ID of your new password field
ControlToValidate="CurrentPassword" //ID of current password field
ErrorMessage="You should enter different password."
ForeColor="Red">
</asp:CompareValidator>
答案 1 :(得分:0)
如果您创建自己的控件,
1. check the current user who is logged in
2. when user try to change the password, probably a button click
get the users unique id and match the new password and old password.
3. If password match return an error, update the database with new password otherwise
答案 2 :(得分:0)
我得到了解决方案。我没有使用更改密码模板,而是使用了代码
protected void ChangePassword1_ChangedPassword(object sender, EventArgs e)
{
if (ChangePassword1.CurrentPassword == ChangePassword1.NewPassword)
{
Response.Redirect("ChangePassword.aspx");
}
//Label1.Text = "current and new passwords should not match";
Label1.Visible = false;
}
最初lable1输入了不同的当前密码和新密码。
答案 3 :(得分:0)
尝试
ASP:CompareValidator
使用Operator&#34; property = NotEqual&#34;
这应该有效
答案 4 :(得分:0)
你应该有两个文本框,比方说txtNewPassword
和txtRePass
。这将完成这项工作,如下所示,内置的<asp:CompareValidator>
将完成这项工作。
但如果您还需要额外验证,也可以添加Validation Group = ""
<asp:CompareValidator runat="server" ID="Comp1" ControlToValidate="txtNewPassword" ControlToCompare="txtRePass" Text="Password mismatch" Font-Size="11px" ForeColor="Red"/>`