【问题标题】:Validate multiple forms with password fields使用密码字段验证多个表单
【发布时间】:2016-01-05 12:42:42
【问题描述】:

我遇到了一些验证问题。在我的页面上,我有多个表单,每个表单都可以更新特定用户的密码。如果用户在密码字段中输入任何内容,他们还必须在密码确认字段中输入。密码字段仅在用户输入内容时进行验证。以下是我下面的内容: HTML(为了您的乐趣而精简)

<form action="#" method="post" class="validateUser">
    <input type="password" class="form-control" name="password">
    <input type="password" class="form-control" name="password_again">
</form>

jQuery:

var entry;
        j$('.validateUser').each(function(index, element) {
            entry = j$(this);
            j$(this).validate({
                rules:{
                    password:{
                        minlength:{
                            depends: entry.find("input[name='password']").val().length > 0,
                            param: 6
                        }
                    },
                    password_again:{
                        minlength: {
                            depends: entry.find("input[name='password']").val().length > 0,
                            param: 6
                        },
                        equalTo: {
                            depends: entry.find("input[name='password']").val().length > 0,
                            param: entry.find("input[name='password_again']").val()
                        }
                    }
                }
            });
        });

jQuery 目前不工作,任何正确方向的帮助将不胜感激

【问题讨论】:

  • 您的所有表单是否都带有与name="password"name="password_again" 相同的字段名称?
  • @Sina 是的,我是。所有表单都具有相同的名称属性
  • 那你能不能试着给他们分配ids,然后用input[id='uniqueid']测试,让我们知道结果(如果有的话)?
  • 我试图避免使用唯一 ID。不过我会试一试
  • 或者你甚至可以拥有find("#uniqueid")?好的。试试这个,检查问题是否仅仅是没有唯一的ids 或特定类的事实

标签: jquery html validation jquery-validate


【解决方案1】:

试试这个

    // Html Code 
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<form action="#" method="post" class="validateUser">
    passwrod:<input type="password" class="form-control" name="password" id="PasswordFild1">
   Conform Password: <input type="password" class="form-control" name="password_again"  id="PasswordFild2">
</form>


// Jquery Validation

$(document).ready(function(){
    $("#PasswordFild2").change(function() {
     var PasswordFild1= $("#PasswordFild1").val();
     var PasswordFild2= $("#PasswordFild2").val();

        if(PasswordFild1 == PasswordFild2 )
        {
           // Then Validate Both Password Match
        }else
        {
            alert('Enter Same password');
         // alert or error mess Print : password not match
        }
          // Check input( $( this ).val() ) for validity here
        });
});

【讨论】:

  • 虽然这确实有效,但这不是我想要的对不起。它不可扩展,不使用 jQuery Validate(因为我有其他需要验证的字段,所以需要)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-11
  • 1970-01-01
  • 2011-01-29
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多