2014-08-27 86 views
1

equalTo验证下面是我的形成具有密码和确认密码字段与jQuery验证

<div class="form-group"> 
    <label class="control-label">password</label>    
    <input type="text" class="form-control" name="password" 
      data-validate="minlength[8]" 
       data-message-required="email is required" placeholder="password"> 
</div> 

<div class="form-group"> 
    <label class="control-label">confirm password</label>    
    <input type="text" class="form-control" name="password_confirm" 
     data-validate="minlength[8],equalTo[password]" 
      data-message-required="email is required" placeholder="confirm password"> 
</div> 

下面是我的验证领域的一部分。

if (params = rule.match(/(\w+)\[(.*?)\]/i)) { 
    if ($.inArray(params[1], ['minlength', 'equalTo']) != -1) { 
     opts['rules'][name][params[1]] = params[2]; 
     message = $field.data('message-' + params[1]); 
     if (message) { 
      opts['messages'][name][params[1]] = message; 
     } 
    } 
} 

minlength[8]似乎完美地工作,但是当我尝试符合我password与确认密码它不工作。我尝试以三种方式传递名称属性,但它们都不起作用。

equalTo[password] 
equalTo["password"] 
equalTo["#password"] 

而且谁能告诉我这是什么正则表达式做/(\w+)\[(.*?)\]/i)

回答

1

equalTo["#password"]的参数是#password

#password是一个jQuery选择器,匹配一个元素与id="password"。但是,我的password字段中看不到id属性。尝试添加一个...

<input type="text" class="form-control" id="password" name="password" .... 

报价OP

“还有谁能告诉我这是什么正则表达式做/(\w+)\[(.*?)\]/i

见:http://regexr.com/39d43