Ниже моя форма, которая имеет пароль и подтвердить поле пароляequalTo проверки с 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;
}
}
}
The minlength[8]
, кажется, работает отлично, но когда я пытаюсь соответствовать моим password
с подтверждающим паролем ее не работает. Я пробовал передавать атрибут имени тремя способами, но никто из них не работает.
equalTo[password]
equalTo["password"]
equalTo["#password"]
Также может кто-нибудь сказать мне, что делает это регулярное выражение делать /(\w+)\[(.*?)\]/i)