MicrosoftMvcValidation.js VS jquery.validate.js(Bassistance)

时间:2011-12-08 14:29:15

标签: asp.net-mvc

在之前的MVC 2.0应用程序中,我(在我的Site.Master中)包含对jquery.validate.min.js的CDN文件的引用,用于我的所有客户端验证。

我现在正在创建一个MVC 3.0项目,我对有关“how to use client-side validation using MicrosoftMvcValidation.js”.

的文章数量感到困惑

在大多数(如果不是全部)文章中,当我看到对MicrosoftMvcValidation.js的引用时,我也看到jquery.validate.js的引用,这有点令人困惑(考虑到,过去,我只是使用了bassistance的文件。)

所以我的问题是:

  • 这两个文件有什么区别?
  • 使用其中一个是否有任何已知的问题/好处?
  • 默认情况下,在“Scripts”文件夹中,它看起来像两个文件 有,但为什么?他们是给我们选择还是让他们合作 手?

任何对此有所帮助的帮助都会很棒!

提前致谢!

2 个答案:

答案 0 :(得分:9)

MVC3支持两种客户端验证模式:

  • 使用MicrosoftMvcValidation.js进行经典验证 要启用此功能,请在Html.EnableClientValidation()之前致电Html.BeginForm()

  • 使用jquery.validate.js和jquery.validate.unobtrusive.js(MVC3新手)进行不显眼的验证
    要启用此功能,请将以下settinsg添加到Web.config:

    <appSettings>
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    </appSettings>
    

答案 1 :(得分:6)

MVC2提供了Microsoft自己的客户端验证或jQuery验证之间的选择。

MVC3继续这样做,但是如果你沿着jQuery路线走,它只提供不引人注意的验证(即新的HTML5验证功能)。

在这两种情况下,流行的观点似乎是jQuery是更好的选择,因为它更容易扩展和更简单的使用。您无需在项目或网页中包含这两个脚本 - 通常,您可以选择一个并删除另一个。