Пользовательский метод проверки jQuery

#javascript #jquery #validation #jquery-validate

#javascript #jquery #проверка #jquery-проверка

Вопрос:

У меня есть два поля ввода, email и email_confirm. Поле email содержит значение электронной почты пользователя из базы данных. Я хочу убедиться, что если пользователь обновляет свою электронную почту (оба ввода должны иметь одинаковое значение), они совпадают, однако я не могу использовать значение по умолчанию equalTo, потому что ввод электронной почты всегда имеет значение. Итак, мне нужно проверить, равно ли значение email_confirm электронной почте, если значение электронной почты отличается от значения по умолчанию.

Вот код, который у меня есть, значение также всегда кажется пустым.

 $.validator.addMethod('myEqual', function (value, element, param){
        return value == $(param).val();
}, 'Message');
  

Комментарии:

1. Решается с помощью: $.validator.addMethod(‘myEqual’, функция (значение, элемент, параметр){ возвращает $ (element).val() == $ (param).val(); }, ‘Сообщение’);

2. ответьте на свой собственный вопрос и отметьте как ответ, что не является чем-то неслыханным

Ответ №1:

Просто добавьте приведенное ниже правило для email_confirm поля,

 equalTo : "#email" //Replace #email with the id the of the email field.
  

Для этого нет необходимости добавлять пользовательский метод.

Ответ №2:

 if ($("#email").val() != theDefaultValue) {
  if ($("#email").val() == $("#email_confirm")) {
    // It's all good
  } else {
    // It's all bad
  }
} else {
  // It doesn't matter
}