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

Vli*_*nce 9 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.jsI 的引用时,也会看到一个jquery.validate.js令人困惑的引用(考虑到,在过去,我只使用了bassistance的文件).

所以我的问题是:

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

任何有助于解释这一点的帮助都会很棒!

提前致谢!

SLa*_*aks 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>
    
    Run Code Online (Sandbox Code Playgroud)

  • @Vlince:正确.MVC3更新更清洁; 提供旧脚本是为了与现有MVC2项目兼容. (2认同)

Ste*_*loy 6

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

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

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