c#在服务器端验证密码

本文关键字:密码 验证 服务器端 | 更新日期: 2023-09-27 18:16:23

我现在正在尝试使用。net验证服务器端的密码

下面是我的客户端代码:
                    <asp:TextBox ID="PSWRD" runat="server" Width="120px"></asp:TextBox>
                    <span style="background-color:yellow; color:red; font-weight:bold;" title="some rules">Password Rules</span>
                     <asp:RequiredFieldValidator ID="VPSWRD" runat="server" 
                        ErrorMessage="A password is required"
                        ControlToValidate="PSWRD">
                        </asp:RequiredFieldValidator>
                    <asp:CustomValidator ID="IPSWRDVal" runat="server"
                        OnServerValidate="ValidatePasswordServerSide"
                        ControlToValidate="PSWRD"
                        ErrorMessage="Please enter a *valid* password"
                        ValidateEmptyText="False"
                        ></asp:CustomValidator>

我的第一个验证器工作正常。它会在适当的时候显示它的消息。

第二个给我带来麻烦。

下面是我的

代码
protected void ValidatePasswordServerSide(object source, ServerValidateEventArgs args)
{

        if (Regex.IsMatch(args.Value, @"^(['w'.'-]+)@(['w'-]+)(('.('w){2,3})+)$"))
            args.IsValid = true;
        else
            args.IsValid = false;

}

问题是,每当我输入不正确的值时,我不会看到第二个验证器显示错误消息。

还有一个小请求,在人们用他们的解决方案变得太奇特之前,请注意这是学校的作业,所以他们想要一个千篇一格的方法。我知道这很蠢,但规则就是规则。

c#在服务器端验证密码

调用服务器端检查密码有效性的方法是不好的。

使用

   <asp:RegularExpressionValidator runat="server" ID="rgpassvalide"  ErrorMessage="Please enter a *valid* password"  ControlToValidate="PSWRD" ValidationExpression="^(['w'.'-]+)@(['w'-]+)(('.('w){2,3})+)$"></asp:RegularExpressionValidator>

代替"asp:CustomValidator"。

上面的

代码可以帮助你使它工作