2012-01-30 29 views
0

我們有一個ASP.Net MVC2 web應用程序(SQL 2008在後端)。我們在模型層面使用數據註釋進行所有驗證(希望它是最佳實踐之一)。所以,我們的驗證在服務器端執行,並返回錯誤(如果有的話)。工作正常。MVC2驗證 - 純粹基於jQuery的驗證或使用Microsoft腳本?

接下來,我們有AJAX based postback jQuery plugin。結合MVC部分視圖,我們已經'AJAX化'了某些形式。我希望這幾乎是一個基本的東西,有一點AJAX & jQuery。

現在,我們希望把在客戶端驗證,以及(和仍然堅持 在服務器端驗證)。我們已經找到了一些需要的simple & basic way to have basic validations,格式, 範圍,等等......使用了bassistance jQuery。但是,某些服務器方面的驗證,如重複檢查,等等。什麼是最好的 的做法?

注意,我們已經通過不包括默認的Microsoft AJAX庫簡化了我們的Web應用程序。我們更喜歡簡化的jQuery插件。此外微軟js文件重量幾KB。 (Data Annotations Validation + jQuery.Ajax Post

例如,jquery窗體插件看起來比默認的MicrosoftAjax更簡單。

jQuery插件是抽象的&自包含這是我們遠離微軟腳本的原因之一。我這裏還有一些選項 -

解決方案#1: Using ASP.Net Data Annotations validations using pure jQuery, AJAX, JSON & Partial views

解決方案2: ASP.NET MVC Client-Side Validation Summary with jQuery Validation Plugin

我們需要讓事情變得簡單,乾淨和最佳的。例如,這看起來很複雜 - ASP.Net MVC: Can you use Data Annotations/Validation with an AJAX/jQuery call?

如果可能,我們寧願將驗證保留在一個地方,而不必在數據註釋和jQuery中複製它。

謝謝。

+0

這是怎麼回事? http://weblogs.asp.net/srkirkland/archive/2011/02/23/introducing-data-annotations-extensions.aspx – 2012-01-30 16:23:40

回答

1

但是,某些服務器端驗證,如複製 檢查等,什麼是最佳實踐?

在ASP.NET MVC 3中,您可以使用[Remote]數據註釋。

在ASP.NET MVC 2中它不存在,但您可以使用jQuery.validate remote規則來實現它。這假設你使用jQuery驗證插件當然而不是內置的Microsoft客戶端驗證框架。

Microsoft腳本現在已過時。如果你想緩解向ASP.NET MVC 3甚至4的遷移,你應該忘記這些,並使用jQuery和jQuery驗證ASP.NET MVC中現在默認的客戶端框架。

+1

但是,不要停止做服務器端驗證......我知道你並不是指暗示這一點,只是想確定它說的。 – 2012-01-30 16:36:40