需要一些帮助使用bassistance validate和json检查用户名

时间:2011-04-06 03:42:11

标签: jquery json validation

我目前在我的表单上使用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检查 - 任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:1)

对服务器的调用是异步的。因此,您的函数会立即返回验证插件。

尝试检查验证函数中的标志(例如isUserNameValid)。然后将ajax调用附加到'change'事件以进行验证并将标志设置为相关值。立即将标志设置为false,然后执行ajax调用。

HTH

答案 1 :(得分:1)

验证插件有一个内置的远程方法用于此类事情。我建议你使用它并从它调用的方法返回true / false。

请参阅以下文档:Remote Validation Documentation