MVC2验证 - 基于纯jQuery的验证还是使用Microsoft脚本?

时间:2012-01-30 16:19:52

标签: validation asp.net-mvc-2 jquery data-annotations

我们有一个ASP.Net MVC2 Web应用程序(后端的SQL 2008)。我们在模型级别使用数据注释进行所有验证(希望它是最佳实践之一)。因此,我们的验证在服务器端执行,并返回错误(如果有)。工作正常。

接下来,我们AJAX based postback jQuery plugin。结合MVC部分视图,我们'AJAXified'某些形式。我希望这非常像一个基本的东西,有一点AJAX& jQuery的。

  

现在,我们也希望在客户端进行验证(现在仍然如此)   坚持服务器端验证)。我们发现了一些simple & basic way to have basic validations所需的格式,   范围等...使用bassistance jQuery。但是某些服务器呢   侧面验证,如重复检查等。什么是最好的   做法?

注意我们通过不包含默认的Microsoft AJAX库简化了我们的Web应用程序。我们更喜欢简化的jQuery插件。 Microsoft js文件的重量也是几KB。虽然它可能会吸取教训但需要多个文件。(Data Annotations Validation + jQuery.Ajax Post

例如,jquery表单插件看起来比默认的MicrosoftAjax简单。

jQuery插件是抽象的&自包含是我们离开Microsoft脚本的一个原因。这里有一些选择 -

  

解决方案#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中复制它。

谢谢。

1 个答案:

答案 0 :(得分:1)

  

但是某些服务器端验证呢,比如复制   检查等等。最佳做法是什么?

在ASP.NET MVC 3中,您可以使用[Remote]数据注释。

在ASP.NET MVC 2中它不存在,但您可以使用jQuery.validate remote规则来实现它。这假设您使用的是jQuery validate插件,而不是内置的Microsoft客户端验证框架。

Microsoft脚本现已过时。如果您希望简化向ASP.NET MVC 3甚至4的迁移,您应该忘记这些并使用jQuery和jQuery验证哪些是ASP.NET MVC中现在的默认客户端框架。