Jquery验证不适用于登台和生产系统

时间:2014-05-23 06:52:41

标签: javascript jquery validation asp.net-mvc-4

我在我的MVC Cshtml项目中使用jquery.validate.js,出于某种原因,验证似乎在我的开发机器上工作正常,但无法在生产机器上工作

这是我的jquery包

    bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                "~/Scripts/jquery.unobtrusive-ajax.js",
                "~/Scripts/jquery.validate-vsdoc.js",
                "~/Scripts/jquery.validate.js",
                "~/Scripts/jquery.validate.unobtrusive.js"
                ));

这是我的cshtml

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/bundles/ChosenJq")
     <script type="text/javascript">
.....

所有jquery脚本都是正确的顺序,即首先包含Jquery。 dev机器和stag和prod机器上的代码是相同的。代码在dev机器上正常工作,如下所示。(对于电子邮件ID) enter image description here

但验证只是在暂存或生产机器上没有发生,如下所示

enter image description here

在控制台上,我在所有计算机上都看到此错误。

enter image description here

但它似乎并没有影响我在开发机器上,但仅限于刺激机器。 以前有人遇到过这种情况。我搜索了SO,但我无法与他们联系

Staging and Production Environments: IIS, Windows Server 2008 R2

1 个答案:

答案 0 :(得分:1)

实际上在Staging期间,捆绑包只发送min个文件,因此在您的捆绑包中包含min个文件版本,如下所示。

 "~/Scripts/jquery.validate.min.js",

将EnableOptimization属性设置为false,以便在暂存期间发送非min文件。

BundleTable.EnableOptimizations = false;