【问题标题】:Client side validation for a password textbox value密码文本框值的客户端验证
【发布时间】:2011-11-11 05:52:40
【问题描述】:

我有一个用于提交新用户详细信息的 Web 表单。在密码字段中,使用了一个文本框。 需要对此进行验证,因为“它应包含至少 8 个字符和至少一个非字母数字字符”。我在 web 配置文件中为它提供验证:-

<membership defaultProvider="SQLMembershipProvider">
  <providers>
      <remove name="SQLMembershipProvider"/>
        <add name="SQLMembershipProvider" connectionStringName="DAFEConnection" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="1"   type="System.Web.Security.SqlMembershipProvider" applicationName="WBCPDA" requiresQuestionAndAnswer="false" enablePasswordReset="true" maxInvalidPasswordAttempts="4" passwordAttemptWindow="15" requiresUniqueEmail="true"/>
            </providers>
        </membership>

此验证在服务器端触发,即当我单击“提交”按钮时。 我想在客户端验证相同的内容,即,只要他在文本框中输入不想要的值。

PLZ 帮助

【问题讨论】:

    标签: asp.net validation client-side


    【解决方案1】:

    执行此操作的最快方法是使用正则表达式验证器。见documentation here.

    康侃的建议很好;不仅是为此使用 jQuery 的想法;但主要是使用正则表达式来验证密码是否符合预期格式的想法。

    补充答案:

    这很困难 因为您没有提供标记,所以为您提供适用于您的情况的准确代码的最快方法;但你可以做类似的事情:

    <asp:button id="btnSubmit" runat="server" OnClientClick="return validate_pass();" OnClick="YourHandler" />
    

    并且将使用 javascript 函数 .Regular Expression Validator。请参阅此处的文档。

    function validate_pass()
    {
        //txtPassword is assumed to be the id of the password text field on your page
        var passField = document.getElementById('<%=txtPassword.ClientID%>');
        if(passField.value.length<8)
        {  
           alert('Password must contain at least 8 characters');
           return false; 
        }
        return true;
    }
    

    【讨论】:

    • Icarus - 谢谢。但是你给出的解决方案是编写我自己的自定义验证来验证客户端密码 txt 框。实际上,我想在内置的 asp.net 'SqlMembershipProvider' 中实现客户端验证。有办法吗?
    • @Kings:嗯,是的,您可以使用 RegularExpressionValidator 并将其附加到您的密码字段。此处示例:msdn.microsoft.com/en-us/library/…
    • lcarus:我猜不可能使用那个 sql 成员资格功能来验证客户端。你说的方法是唯一可行的,实际上是密码文本框验证,不是会员密码验证。
    • 无论如何。请张贴你以前的代码。我会用它来寻求帮助。谢谢
    【解决方案2】:

    您可以使用 javascript 或 jQuery 插件在客户端检查密码规则。可以参考http://plugins.jquery.com/plugin-tags/password-validationhttp://bassistance.de/jquery-plugins/jquery-plugin-password-validation/。您甚至可以推出自己的 javascript 代码并使用 RegEx 进行验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-03
      • 2021-01-01
      • 1970-01-01
      相关资源
      最近更新 更多