2012-03-08 25 views
6

我正在通過AJAX調用爲jQuery加載合適的屬性的表單,問題是因爲它在文檔準備好後加載了jQuery不顯眼的驗證沒有提取所需的驗證。任何人都可以告訴我我將運行重新初始化的方法嗎?如何重新初始化jQuery unobstrusive驗證?

感謝, 達倫

+0

你可以顯示你正在使用的代碼*嘗試*來初始化它嗎? – 2012-03-08 19:12:47

+0

您是否找到任何解決方案?我試圖看看是否有reinit函數,但似乎一旦使用.validate進行設置,它就無法真正解除綁定,並且您被原始設置卡住......:/ – 2013-11-27 07:46:49

+1

@MykaEyl只需重新初始化它在下面的完整或成功的方法。 – Darren 2013-11-27 21:41:45

回答

21

爲了解析表單的驗證屬性後,你將它返回到您需要運行此頁面:$.validator.unobtrusive.parse('#yourFormSelector')

在我的應用程序中,我把這個調用到ajaxComplete處理程序,所以我不必窩再也不用擔心了。我已經重新解析了頁面上的每一個表單,並且它在生產中已經很好地工作了很長時間(即使在頁面上有幾百個表單時)。

$(document).ajaxComplete(function() { 
    $.validator.unobtrusive.parse('form'); 
}); 
0

您需要哪個AJAX方法使用的是成功的回調中重新初始化它,使用相同的叫你正在使用初始化驗證

$(selector).load(formUrl, function(){ 

    /* form exists here, run code*/ 
    })