我确信这可能是我没有做的简单事情。运行 livevalidation.js jquery 插件 (livevalidation.com)。它提供自定义函数回调。我正在尝试检查用户名的可用性。服务器端工作正常,我在我的数据变量中得到了正确的响应......
这是我的 JS:
Validate.Username = function(value, paramsObj) {
var paramsObj = paramsObj || {};
var message = paramsObj.failureMessage || "Username is not available";
var isSuccess = true;
$.post("<?php echo fURL::getDomain(); ?>/ajax/username",
function(data) {
if (data.status === 'notavailable')
{
Validation.fail('oops, not available.');
}
});
};
我使用以下方法调用它:
var username = new LiveValidation('username', { validMessage: curr_username + "is available!" });
username.add( Validate.Presence, { failureMessage: "Choose a username" });
username.add( Validate.Username, { failureMessage: "Username is not available." } );
我遇到的问题是:
Uncaught ReferenceError: Validation is not defined
如果我把Validation.fail()
我的功能放在外面,.post()
它工作正常。所以我很确定这是因为它无法在.post()
函数内部被引用。
我试过使用回调函数
if (data.status === 'notavailable')
{
status_not_available();
}
我犯了同样的错误。
我意识到这可能非常简单,但我们将不胜感激。先感谢您。