Вопрос проверки JS - PullRequest
       3

Вопрос проверки JS

1 голос
/ 07 ноября 2011

Моя функция проверки выглядит так.

var fname = $("#fname").val();
var lname = $("#lname").val();

function validate() {
    var isValid = true;
     if (!fname) {
            $("#fname").attr('class', 'invalid');
            isValid=false;
        }

    if (!lname) {
        $("#lname").attr('class', 'invalid');
        isValid=false;
    }

Это просто меняет класс незаполненного поля ввода.

Я знаю, что могу написать else для каждого if и вернуться к значению по умолчанию (class="valid"), если пользователь заполняет некоторые входные данные. Но как я могу создать что-то универсальное для всех входов, чтобы вернуться к классу по умолчанию, который вводил пользователь после первой ошибки проверки?

Ответы [ 3 ]

1 голос
/ 07 ноября 2011

Это был хороший Турал!ОДНАКО, почему избыточная обработка в вашем коде?Это добавит ненужный стресс.Поскольку вы, для того, что «решили», добавите «действительный» класс ко ВСЕМ типу ввода текста или пароля, просто добавьте это к фактическому элементу ввода в прямом коде:

<input class='valid' ..... />

Теперь,Вернемся к исходному утверждению: почему бы не сделать его универсальным?

1005

Или что-то в этом роде ...

1 голос
/ 07 ноября 2011

Вы можете либо предположить, что все верно, а затем попытаться опровергнуть это, либо попытаться доказать его действительность. Ниже приведен первый подход и устанавливается, чтобы все классы были «действительными», чтобы соответствовать этому.

function validate() {
  // Get the current form input state.
  var fname = $("#fname");
  var lname = $("#lname");

  // Assume everything valid until proven otherwise.
  var isValid = true;
  fname.attr('class', 'valid');
  lname.attr('class', 'valid');

  if (!fname.val()) {
    fname.attr('class', 'invalid');
    isValid=false;
  }

  if (!lname.val()) {
    lname.attr('class', 'invalid');
    isValid=false;
  }

  return isValid;
}
0 голосов
/ 07 ноября 2011

Хорошо.Я нашел способ

  $('input[type="text"],input[type="password"]').keypress(function () {
        $(this).attr('class', 'valid');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...