Я використовував перевірку 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_fil_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>
The 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
, але знову ж таки, це залежить від ваших потреб.