2011-04-06 48 views
0

我目前在我的表單上使用jquery bassistance validator。我試圖添加一個新的函數來檢查(使用json)用戶名是否已經存在。我認爲我沒有采取正確的方式。這裏是我的代碼:需要一些幫助使用bassistance驗證和json來檢查用戶名

jQuery.metadata.setType("attr", "validate"); 
    jQuery.validator.addMethod("uniqueUsername", function(value) { 
    jQuery.getJSON("/index.php?option=com_json&format=raw", { task: "checkUsername", username: value }, function(data) { 
     var response = eval(data); 
     if (response == 1) { 
     //does exist 
     } else { 
     //does not exist 
     }; 
     alert(response); 
    }); 
    }, "This username is currently unavailable."); 
    jQuery("#adminForm").validate(); 

目前,它立即檢查,並提醒我的迴應,我輸入完我的用戶名之前。無論從json返回哪個響應,它也會給出錯誤。

如果有人這樣做,或者知道如何使用JSON檢查與bassistance - 任何幫助,將不勝感激:)

回答

1

這對服務器的調用是異步的。所以你的函數立即返回驗證插件。

嘗試檢查驗證功能中的標誌(例如isUserNameValid)。然後將ajax調用附加到「更改」事件以進行驗證並將標誌設置爲相關值。立即將該標誌設置爲false,然後執行ajax調用。

HTH