我有一个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} /但输入字段验证:失败。 哪里有问题?谢谢。
答案 0 :(得分:1)
您的请求回调函数(处理服务器响应的函数)是异步运行的,但验证函数会立即返回值“valid”(false)。
当回调函数运行时(即在服务器响应之后),Form.Validator.add()函数已经完成执行,并且该字段很久以前就被标记为无效。