equalTo验证与jQuery Validate

时间:2014-08-27 10:55:03

标签: javascript jquery jquery-validate

以下是我的表格,其中包含密码和确认密码字段

<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与确认密码匹配时,它无效。我尝试以三种方式传递name属性,但它们都不起作用。

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

也可以有人告诉我这个正则表达式做什么/(\w+)\[(.*?)\]/i)

1 个答案:

答案 0 :(得分:1)

equalTo["#password"]内的参数为#password

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

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

引用OP

  

“也可以有人告诉我这个正则表达式做了什么/(\w+)\[(.*?)\]/i

请参阅:http://regexr.com/39d43