如何在jquery验证后呈现我的脚本(使用Bundle Config)

时间:2018-03-10 16:52:06

标签: asp.net .net bundle

我想使用验证器验证我的表单。

捆绑配置:

public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));

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

            // Use the development version of Modernizr to develop with and learn from. Then, when you're
            // ready for production, use the build tool at https://modernizr.com to pick only the tests you need.
            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));

            bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                      "~/Scripts/bootstrap.js",
                      "~/Scripts/respond.js",
                       "~/Scripts/script.js" // here I'm using jquery validate.
                      ));

            bundles.Add(new StyleBundle("~/Content/css").Include(
                      "~/Content/bootstrap.css",
                      "~/Content/site.css"));
        }
    }

Layout.cshtml

@Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")
    @RenderSection("scripts", required: false)

错误:

  

未捕获的TypeError:$(...)。validate不是函数           在HTMLDocument。 (的script.js:4)           在火上(jquery-1.10.2.js:3062)           at Object.fireWith [as resolveWith](jquery-1.10.2.js:3174)           在Function.ready(jquery-1.10.2.js:447)           在HTMLDocument.completed(jquery-1.10.2.js:118)

我的脚本中的代码:

var loginValidator = $("#loginForm").validate({...

它呈现第一个jquery,验证器,最后是我的脚本。 为什么无法找到验证器?

提前感谢您的回复!

1 个答案:

答案 0 :(得分:2)

您没有在布局中包含jQuery validate bundle,因此未加载它。

尝试以下布局代码:

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)

请注意,jQuery validate应该在jQuery之后加载。