我需要使用三个javascript库验证与ASP.净MVC4

Do I need to use three javascript libaries for validation with ASP.NET MVC4?

本文关键字:验证 javascript ASP MVC4 三个      更新时间:2023-09-26

我想做我的表单验证,所以我在看ASP。NET MVC4样例应用程序。

这里我看到它使用了以下语句:

jquery.unobtrusive-ajax.js
jquery.validate.js
jquery.validate.unobtrusive.js

谁能解释一下。我需要所有这些js库吗?我我想我在什么地方读到过现在有人在做这项工作另一个,但我看到样本仍然加载了这三个。

谁能解释一下。我需要所有这些js库吗?

不,绝对不。

对于jquery不显眼的验证,您需要按特定顺序添加以下3个脚本:
  1. jquery.js
  2. jquery.validate.js
  3. jquery.validate.unobtrusive.js

jquery.unobtrusive-ajax.js脚本与验证完全没有关系。所有的Ajax.*帮助程序(如Ajax.BeginFormAjax.ActionLink)都使用它。

现在,也就是说,ASP。. NET MVC 4使用脚本包。例如,当您创建一个新的ASP。. NET MVC 4应用程序在Visual Studio中使用Internet模板,它将为您创建~/App_Start/BundleConfig.cs文件,其中包含以下注册:

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
            "~/Scripts/jquery.unobtrusive*",
            "~/Scripts/jquery.validate*"));

这意味着如果在你的布局或视图中调用:

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")

你将进入调试模式:

<script src="/Scripts/jquery-1.7.1.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>

在发布模式下(web.config中的<compilation debug="false">),所有这些脚本将被缩小、压缩并捆绑成一个脚本,通过一个动态端点提供服务。