在mvc4上找不到jquery validate方法错误

时间:2012-08-28 01:22:27

标签: forms html5 jquery-validate asp.net-mvc-4

我正在使用示例MVC4模板来构建向导表单,我从http://afana.me/post/create-wizard-in-aspnet-mvc-3.aspx获取了源代码

当我触发使用'next'按钮的java脚本时,我会收到错误

var validator = $('form')。validate(); //获取验证器 未捕获的TypeError:对象[object Object]没有方法'validate'

下面是完整的JS部分触发器和下一个按钮。

 $("#next-step").click(function () {
        var $step = $(".wizard-step:visible"); // get current step
        var validator = $('form').validate(); // obtain validator
        var anyError = false;
        $step.find("input").each(function () {
            if (!validator.element(this)) { // validate every input element inside this step
                anyError = true;
            }
        });

        if (anyError)
            return false; // exit if any error found

我已将库源包含在mvc4包中。 我能够使用不引人注目的js成功地获得客户端验证。 但是在下一个按钮上调用验证失败。

任何有关如何解决此问题的帮助都非常有用

2 个答案:

答案 0 :(得分:4)

我能够找出问题所在 MVC4模板在body标签的末尾有一个js引用。

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

会覆盖所有其他jquery库,因此找不到方法x。

答案 1 :(得分:0)

更新一年

详细说明, VS 2013使用MVC4添加到_Layout局部视图

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

后第二次多余 已宣布

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

因此,底部@Scripts.Render("~/bundles/jquery")的重新声明会在jqueryval包中禁用有用的方法{。{1}}。

删除它以修复。