【问题标题】:Issue in password field validation asp.net C#密码字段验证asp.net C#中的问题
【发布时间】:2015-01-30 08:39:56
【问题描述】:

我必须验证密码。它工作正常,但如果我添加 runat=server 我的密码验证不起作用。当我删除 runat 服务器时它工作正常。

我的代码如下:

<input value=""  runat="server" class="validate[required] text-input" type="password" required pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}" name="password" id="password" />


    <input value="" runat="server"  class="validate[required,equals[password]] text-input" type="password" name="password2" id="password2" />

我们将不胜感激有关此主题的任何帮助。

【问题讨论】:

    标签: c# jquery html asp.net validation


    【解决方案1】:

    当您在控件属性asp 中放置空间时,为元素创建不同的属性 在您的文本框控件中,您正在创建属性,例如 required pattern 所以,ASP 像这样创建你的文本框 html

    <input name="password" type="password" id="password" required="" pattern="asdsa" class="validate[required] text-input" />
    

    回答

    所以你需要使用后面的代码来创建属性

    如果ASP页面有问题,可以在代码后面添加控制属性

    <input value=""  runat="server" class="validate[required] text-input" type="password" name="password" id="password" />
    

    在代码后面

     protected void Page_Load(object sender, EventArgs e)
    {
        password.Attributes.Add("required pattern","(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{6,}");
    
    }
    

    【讨论】:

    • 亲爱的你还没有理解我的问题。实际上问题是,它告诉我,即使我提供的两个密码相同,密码也不匹配。
    【解决方案2】:

    您已将普通的 HTML 标记告知充当服务器端控件,即 runat="Server"。普通的 html 控件将无法用作服务器端控件,因此请使用 asp.net 控件并编写所需的代码。

    <asp:TextBox runat="server"/>
    

    【讨论】:

    • @Imad,需要这样写 和需要的模式应该添加到代码隐藏中。
    • 简单快速回答1分。我想在我的其他作品之一之后回答,并在 10 分钟后回来,看到你回答了。 :) 谢谢。
    • @Shankar 我们真的不需要它。 之间的区别只是有状态的自然框 和其他一些其他的都可以从后面的代码中访问。
    猜你喜欢
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    相关资源
    最近更新 更多