以下是我的表格,其中包含密码和确认密码字段
<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)
答案 0 :(得分:1)
equalTo["#password"]
内的参数为#password
。
#password
是一个jQuery选择器,它将元素与id="password"
匹配。但是,我在id
字段中看不到password
属性。尝试添加一个......
<input type="text" class="form-control" id="password" name="password" ....
引用OP :
“也可以有人告诉我这个正则表达式做了什么
/(\w+)\[(.*?)\]/i
”