mootools |独特的电邮验证

时间:2014-02-27 07:22:34

标签: javascript xmlhttprequest mootools

我有一个mootools脚本:

Form.Validator.add('UniqueEmail', {
   errorMsg: 'Email is taken',
   test: function(element, props) {

      var valid = false;
      if (element.value.length > 0) {

         site.request(app, {'action':'account.email', 'email':element.value}, function(r){ 
           valid = parseInt(r.istaken) != 1 ? true : false;             
         },'GET');

         return valid;
      }
   }
});

/ 服务器返回:{“status”:1,“istaken”:0} /但输入字段验证:失败。 哪里有问题?谢谢。

1 个答案:

答案 0 :(得分:1)

您的请求回调函数(处理服务器响应的函数)是异步运行的,但验证函数会立即返回值“valid”(false)。

当回调函数运行时(即在服务器响应之后),Form.Validator.add()函数已经完成执行,并且该字段很久以前就被标记为无效。