客户端验证密码文本框值

时间:2011-11-11 05:52:41

标签: asp.net validation client-side

我有一个网络表单来提交新的用户详细信息。在密码字段中,使用文本框。 验证是必需的,因为'它包含最少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帮助

2 个答案:

答案 0 :(得分:2)

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

Kangkan的建议非常好;不仅是为此使用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;
}

答案 1 :(得分:1)

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