нужна помощь с использованием bassistance validate и json для проверки имени пользователя - PullRequest
0 голосов
/ 06 апреля 2011

В настоящее время я использую валидатор jquery bassistance в своей форме. Я пытался добавить новую функцию, которая будет проверять (используя json), существует ли уже имя пользователя. Я не думаю, что я поступаю правильно. Вот мой код:

  jQuery.metadata.setType("attr", "validate");
  jQuery.validator.addMethod("uniqueUsername", function(value) {
    jQuery.getJSON("/index.php?option=com_json&format=raw", { task: "checkUsername", username: value }, function(data) {
      var response = eval(data);
      if (response == 1) {
        //does exist
      } else {
        //does not exist
      };
      alert(response);
    });
  }, "This username is currently unavailable.");
  jQuery("#adminForm").validate();

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

Если кто-то сделал это или знает, как использовать проверку json с bassistance - любая помощь будет принята с благодарностью:)

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

Плагин валидации имеет встроенный удаленный метод для такого рода вещей.Я бы порекомендовал вам использовать это и вернуть true / false из метода, который он вызывает.

См. Следующую документацию: Документация по удаленной проверке

1 голос
/ 06 апреля 2011

Этот вызов к серверу является асинхронным.Поэтому ваша функция немедленно возвращается в плагин проверки.

Попробуйте проверить флаг в функции проверки (например, isUserNameValid).Затем присоедините вызов ajax к событию 'change', чтобы выполнить проверку, и установите флаг в соответствующее значение.Немедленно установите флаг в false и затем выполните вызов ajax.

HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...