Я уверен, что это, вероятно, что-то простое, что я не делаю.Запуск плагина jquery livevalidation.js (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();
}
Я получаю ту же ошибку.
Я понимаю, что это, вероятно, очень просто, но любая помощь будет признательна.Заранее спасибо.