更改密码控制验证

时间:2011-11-17 12:24:47

标签: c# asp.net webforms

我正在使用更改密码向导来更改密码。是否有任何方法来检查输入的密码和新密码是否相同,如果它们相同,则显示错误消息?我尝试使用代码但它提供了错误消息,并且还提供了一条成功消息,指出密码已更改。是否可以使用一些比较验证器来检查这些值?

5 个答案:

答案 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)

你应该有两个文本框,比方说txtNewPasswordtxtRePass。这将完成这项工作,如下所示,内置的<asp:CompareValidator>将完成这项工作。 但如果您还需要额外验证,也可以添加Validation Group = ""

<asp:CompareValidator runat="server" ID="Comp1" ControlToValidate="txtNewPassword" ControlToCompare="txtRePass" Text="Password mismatch" Font-Size="11px" ForeColor="Red"/>`