2011-09-07 116 views
0

我有一個嚮導樣式頁面,我想一次驗證一個頁面。因此,在用戶可以離開(部分)頁面之前,我會提交來自div的輸入以進行驗證。客戶端驗證工作正常,但在某些頁面上,我需要在服務器上驗證一個或多個字段。是的,我瞭解遠程驗證。MVC3 Razor Ajax部分頁面驗證

我可以在沒有問題的情況下完成服務器端驗證。我遇到的問題是如何在正確的字段上顯示錯誤?我可以找到div中的字段,並找到錯誤消息所在的跨度。但我無法看到要顯示的信息。

更新字段範圍時,我必須丟失一些東西。我會認爲有一個jQuery例程將錯誤信息添加到字段。我需要類似於控制器AddModuleError的東西。所以當我從$ .Post返回時,我可以在相應的字段上設置錯誤文本。

有什麼建議嗎?

+0

你的代碼的樣本可能是解決這個 – brodie

回答

0

如果您使用的是包括RemoteAttribute,或我掛在我的回答your other remote validation question版本,那麼你不應該擔心與ValidationMessage助手顯示錯誤,因爲這兩個工作,自動顯示錯誤。

您是否爲每個字段添加了Html.ValidationMessage(...)Html.ValidationMessageFor(...)進行驗證?

+0

每個字段都有ValidationMessageFor有用。 –

+0

使用你的removeval方法工作正常(我希望)單場驗證,但如果我想驗證從一個表單/格一個往返旅程的幾個領域,我需要能夠潛在地處理多個錯誤。 –

1

你的問題的潛在解決方案可能是本文中「Client side validation after Ajax Partial View result in ASP.NET MVC 3

在基本上,一旦你使用jQuery.validator.unobtrusive.parse()後,你可以調用驗證得到你的HTML

按照文章中的例子;

$.post("YourAction", { data: <your form data> }, 
    function(htmlContent){ 
    $('#container').html(htmlContent); 
    jQuery.validator.unobtrusive.parse('#content') 
    } 

值得探討