/ / jquery валидиране: промяна на паролата и потвърждение - jquery, jquery-validate

проверка на jquery: промяна на паролата и потвърждение - jquery, jquery-validate

Използвах валидиране на jQuery под формата на изменение на данни за членове. Във формуляра има три полета, т.е. оригинална парола (passwordOrig), нова парола (password) и потвърждение на паролата (passwordSecond). Бих искал да гарантирам, че потребителят ще въведе и двете всички тях или никой от тях. Как да направя това с jQuery?

По-долу съм измислил:

$("#accountData").validate({
rules: {
passwordOrig: {checkPassword: true},
password: {validChars: true, noSpace: true, minlength: 5},
passwordSecond: {equalTo: "#password"},
...
}
message: {
...
}

В горното, checkPassword, validChars, и noSpace са добавени методи.

Отговори:

1 за отговор № 1

Трябва да се уверите, че минимален брой полета в даден набор са или попълнени, или оставени празни - additional-methods.js има метод, който адресира това изискване, наречен skip_or_fill_minimum

За да използвате това правило, добавяте клас към входовете, които ви интересуват

<input class="mygroup" name="fname" id="fname">
<input class="mygroup" name="sname" id="sname">
<input class="mygroup" name="other" id="other">

след това посочете правилото, казвайки колко трябва да попълните, във вашия случай и трите, и класа, който сте използвали, в този случай mygroup.

...
rules : {
fname : {skip_or_fill_minimum: [3,".mygroup"]},
sname : {skip_or_fill_minimum: [3,".mygroup"]},
other : {skip_or_fill_minimum: [3,".mygroup"]},
},
...

Има добър пример за използване на сестринската функция require_from_group в този отговор


2 за отговор № 2

Трябва да включите additional-methods.js файл и използвайте включено правило, наречено skip_or_fill_minimum.

Добавете общ class на съответните input полета:

<form id="accountData">
<input type="text" class="pw" name="passwordOrig" />
<input type="text" class="pw" name="password" id="password" />
<input type="text" class="pw" name="passwordSecond" />
....
</form>

Най- skip_or_fill_minimum правилото изисква два параметъра, броят на полетата в групирането и class име, което сте създали по-горе, skip_or_fill_minimum: [3,".pw"]:

$(document).ready(function () {

$("#accountData").validate({ // initialize the plugin
rules: {
passwordOrig: {
checkPassword: true,
skip_or_fill_minimum: [3,".pw"]
},
password: {
validChars: true,
noSpace: true,
minlength: 5,
skip_or_fill_minimum: [3,".pw"]
},
passwordSecond: {
equalTo: "#password",
skip_or_fill_minimum: [3,".pw"]
}
},
groups: {
justaname: "passwordOrig password passwordSecond"
}
});

});

Работна демонстрация: http://jsfiddle.net/DmTNW/

Аз също използвах на groups: опция да групирате трите съобщения в едно, но можете да премахнете това, ако искате. Може също да искате да замените вашия персонализиран noSpace метод с този, който вече е включен в additional-methods.js файл, наречен nowhitespace, но отново това зависи от вашите нужди.