Что делает this.optional (element) при добавлении метода проверки jQuery?

Пожалуйста, смотрите документацию:

https://jqueryvalidation.org/jQuery.validator.addMethod/

Интересно, чтоthis.optional(element) делает. Я создал две формы для тестирования:

Form1 а такжеForm2 - один сthis.optional(element) а другой без него. Теоретически говоря и в соответствии с парой комментариевэтот ответ Эндрю Уитакер:

всеthis.optional говоритесли поле является необязательным, вернуть true, если оно пустое "

а также

this.optional check в основном проверяет, является ли поле пустым или нет, прежде чем оценивать, соответствует ли оно правилу.

Но в действии я не вижу разницы в том, какForm1 а такжеForm2 Работа. Пожалуйста, помогите мне понять разницу в действии.

 accord_guy18 мая 2017 г., 13:24
Form1 и Form2 больше не видны. Есть альтернативные ссылки?
 Mori19 мая 2017 г., 06:32
@accord_guy: отредактировал вопрос.

Ответы на вопрос(2)

this.optional предназначен для использования в методах проверки общего назначения, которые могут использоваться с обязательными или необязательными элементами. Это позволяет им пропускать все свои собственные проверки, если поле не заполнено. Если поле является необязательным, метод немедленно возвращает результат; если оно'Если требуется, метод немедленно возвращает ошибку.

Используя это, метод может предположить, что значение не является пустым, что может упростить остальную часть его кодирования.

Решение Вопроса

бой форме. Либо это имеет значение заполнителя, либо попытка указать адрес электронной почты. Весь смыслthis.optional(element) должен немедленно вернуть true, если элемент пуст и не требуется.

Так что, если у вас были эти два метода:

jQuery.validator.addMethod("BOB", function (value, element) {
    return this.optional(element) || 
        element.value === 'BOB';
}, 'You did not enter BOB');

jQuery.validator.addMethod("mustbeBOB", function (value, element) {
    return element.value === 'BOB';
}, 'You did not enter BOB');

Добавление классаBOB required будет так же, как поступление в классmustbeBOB, Сравните это с классомBOB что позволило бы пустым или "ЛПП», против классаmustbeBOB который пройдет только проверку со значениемBOBпустым не получится. Это имеет больше смысла?

 Mori29 окт. 2012 г., 16:28
Спасибо, Райли! :)
 Mori27 окт. 2012 г., 05:25
Полезный пример! Это означает использованиеthis.optional(element) бессмысленно, если поле является обязательным или имеет значение по умолчанию, верно?
 Ryley29 окт. 2012 г., 16:26
Да, я согласен, @RainLover

Ваш ответ на вопрос