これはおそらく私がやっていない単純なことだと思います。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();
}
同じエラーが発生します。
これはおそらく非常に単純なことだと思いますが、何か助けていただければ幸いです。前もって感謝します。