我在jquery 1.7中使用它。我一直收到 - jQval is undefined
错误。
这就是我加载脚本的方式。
$.ajax({
url: "http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js",
dataType: "script",
cache: true,
success: callback
});
我也尝试将它直接加载到头部 - 同样的错误
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js" type="text/javascript"></script>
答案 0 :(得分:9)
只为其他人在搜索中发帖...
在头部加载文件时遇到错误的原因是jquery.validate.unobtrusive需要jquery.validate。这就是导致错误的原因。
(即仔细检查您是否在jquery.validate.unobtrusive之前成功包含了jquery.validate)
答案 1 :(得分:1)
<强>解决强> 级联ajax加载调用解决了它..它看起来像加载两个文件的时间问题
$.ajax({
url: "http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js",
dataType: "script",
cache: true,
success: function () {
$.ajax({
url: "http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js",
dataType: "script",
cache: true,
});
}
});
答案 2 :(得分:0)
以下3个脚本对我很有用:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js" type="text/javascript"></script>
假设你有一个表格:
@using (Html.BeginForm())
{
@Html.EditorFor(x => x.Foo)
@Html.ValidationMessageFor(x => x.Foo)
<button type="submit">OK</button>
}
键入视图模型:
public class MyViewModel
{
[Required]
public string Foo { get; set; }
}