jquery.val的MVC 4错误

时间:2014-06-06 16:36:51

标签: jquery asp.net-mvc-4 jquery-validate unobtrusive-validation

我遇到Jquery验证问题(客户端), 它运作良好我不知道发生了什么事它不工作,这里我有一些截图可以帮助你理解问题 enter image description here

这是我的布局: enter image description here

enter image description here

2 个答案:

答案 0 :(得分:2)

请注意,在您的BundleConfig中包括

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

我认为应该是

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

您也缺少此文件(我无法在解决方案资源管理器中看到它):

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

这些都是所需文件在右侧顺序中,用于使用bootstrap进行jquery unobtrusive验证。仔细检查您是否在正确的位置。

<script src="jquery-1.10.2.min.js"></script>
<script src="bootstrap.min.js"></script>
<script src="jquery.validate.min.js"></script>
<script src="jquery.validate.unobtrusive.min.js"></script>
<script src="jquery.validate.unobtrusive.bootstrap.min.js"></script>

尝试更改BundleConfig并按正确的顺序包含所有文件,避免使用通配符({version}和*),尝试是否有效。然后经历并试图获得通配符。我的项目中有类似的东西:

        BundleTable.Bundles.Add(new ScriptBundle("~/bundles/jquery")
            .Include(
                "~/Scripts/jquery-2.1.1.min.js"
            ));

        BundleTable.Bundles.Add(new ScriptBundle("~/bundles/ui")
            .Include(
                "~/Scripts/bootstrap.min.js"
            ));

        BundleTable.Bundles.Add(new ScriptBundle("~/bundles/validate")
            .Include(
                "~/Scripts/jquery.validate.min.js",
                "~/Scripts/jquery.validate.unobtrusive.min.js",
                "~/Scripts/jquery.validate.unobtrusive.bootstrap.min.js"
            ));

答案 1 :(得分:0)

同样的问题。 我通过创建一个VS 2012 MVC 4互联网应用程序(开箱即用)开始了一个简单的测试。然后我更新了jquery验证并进行了测试。没问题。然后我更新了jquery(2.1.1)BAM !!!

我尝试根据最后的答案更改捆绑

更改

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

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

是的,修复了它!