2009-02-05 59 views

回答

4

不久後,我發佈了這個答案,我發現xval這是一個ASP.NET MVC驗證框架。

+0

我開始使用這個有一天,這是一個快速工作。最好的部分是它只需要我的視圖中的一行來獲得jQuery驗證工作的客戶端。好東西。 – 2009-02-05 16:07:33

1

David Hayden wrote an article在www.codebetter.com上介紹了一種處理驗證的好方法。當然,xVal是一種選擇,但理解起來總是很棒的。

3

ASP.NET MVC包含像Html.ValidationSummary()Html.ValidationMessage()這樣的方法。如果您使用TryUpdateModel,這些會自動更新。您也可以手動驗證並自行設置錯誤消息。 Here是一個如何使用它的例子。

+0

它也適用於DefaultModelBinder,它只是簡單地接受一個複雜類型作爲控制器操作的參數。 – 2009-02-05 17:18:12

1

我實現了一個我在Stephen Walther的blog上找到的代碼的變體。通過定義包含GetRuleViolations()方法的IValidatedEntity接口並實現調用GetRuleViolations()的部分OnValidate方法,並在違規數量非零時引發自定義異常,我將它與LINQ2SQL模型一起使用。在控制器中,這將在SubmitChanges上觸發數據上下文。如果我得到一個異常,我通過GetRuleViolations()方法重新查詢模型,以建立模型錯誤以傳回視圖。

1

您還可以結帳.net validation framework。它是一個規則框架,允許您創建驗證器,將驗證器應用於規則,將規則附加到模型中,並在客戶端和服務器上運行時檢查這些規則。它提供了靈活的配置規則的方式 - 大量使用linq進行流暢和強類型的配置。它還提供可擴展性點來創建您自己的客戶端腳本生成器和規則。

該框架利用了MVC RC HtmlHelpers和默認約定。

如果您下載最新的源代碼,您可以看到在SplitBranch - > QSAspMvc快速啓動項目中工作的框架示例。它仍在積極開發中。

相關問題