$('form')。validate是未定义的

时间:2014-12-31 03:13:32

标签: javascript jquery asp.net-mvc model-view-controller wizard

我正在尝试使用文章Create a Wizard in ASP.NET MVC 3中描述的技术在MVC中实现向导。 (我正在使用最新版本的MVC。)

但我似乎遇到了以下代码行的问题:

var validator = $("form").validate(); // obtain validator

此行会导致错误,因为$("form").validate未定义。

不幸的是,我真的不知道这个特定的代码是如何工作的,所以我不确定如何修复它。有人能解释一下这里发生了什么吗?应该在哪里定义validate

2 个答案:

答案 0 :(得分:3)

实际上,默认情况下,_Layout.cshtml文件包含位于页面末尾的脚本文件(就在关闭正文标记之前),如果您在浏览器中查看呈现的页面,您会看到。

来自常规视图的内容嵌入在布局文件中有@RenderBody调用的位置。正如您所看到的,对RenderBody的调用在包含的脚本之前。这就是为什么你编写的任何引用外部代码的javascript代码都无效。

即使在包含的脚本之后,“脚本”部分也在布局文件中定义。因此,如果您使用@section“Scripts”,那么您放置的任意代码将保证在包含的js文件之后,因此它将起作用。

希望现在更有意义。

答案 1 :(得分:2)

听起来你并没有在你的html文件中包含jquery validate作为脚本。你做了:

<script src="http://cdn.jsdelivr.net/jquery.validation/1.13.1/jquery.validate.min.js"></script> 

或在当地加入?