我使用MVC和jQuery驗證xVal。這一切都很好,直到我到我的自定義驗證器,做一個Ajax調用。XVal,JQuery Validate和Ajax哦,我的!
根據firbug Net Tab,ajax調用返回正確的值。但有些事情出錯了,我無法弄清楚。
這裏的JavaScript代碼:
function CheckEmail() {
var res;
$.ajax({
type: "GET",
url: "/User/CheckEmail",
data: "email=" + $('#EmailAddress').val(),
success: function(result) {
res = result;
}
});
if (res == "True") {
return true;
}
else {
return false;
}
}
當我與螢火蟲步,RES是示出作爲未定義。我認爲這是問題所在。
我花了4小時重新安排和更改此代碼,沒有任何東西似乎使它正常工作。
我有一個理論,它不等待,直到ajax完成運行if語句。任何人都可以確認或否認?
您可能想查看xVal。它使用你的域驗證規則在你的視圖中生成jQuery驗證腳本(它也是服務器端驗證)。 HTTP://blog.codeville。net/2009/09/17/xval-v10-now-available/ – jrummell 2009-09-18 20:25:46
這個函數被xVal調用以與自定義的服務器端驗證屬性對應:) – Patricia 2009-09-22 13:56:18
好的。我發現新版本的xVal(1.0)有一個遠程規則類型。你可以在史蒂夫的博客上閱讀所有關於它的內容:http://blog.codeville.net/2009/09/17/xval-v10-now-available/ 它解決了我的問題。 – Patricia 2009-10-02 20:30:11