【发布时间】:2014-07-07 10:09:38
【问题描述】:
我正在使用 MVC5 并试图让客户端验证触发而不是执行服务器跳闸。验证在服务器端有效,但我无法让客户端使用 jquery 2.1.1 触发
我正在使用捆绑包来注册脚本。在客户端源代码中,脚本似乎被正确引用。
<script src="/Scripts/jquery-2.1.1.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
在 web.config 中,我启用了客户端并且不显眼
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
需要验证的输入之一似乎是从模型中提取数据注释,所以我认为这不是问题
<input class="input-validation-error form-control" data-val="true"
data-val-number="The field UpdateValue must be a number."
data-val-range="Please enter a number between 1 and 28"
data-val-range-max="28" data-val-range-min="1"
data-val-required="An update value is required" id="tbUpdateValue"
name="UpdateValue" type="text" value="0" aria-required="true" aria-invalid="true">`
我可以让客户端触发的唯一方法是添加对旧版本 jQuery 的引用。我在视图顶部添加了这个
<script src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
知道如何让它与 2.1.1 一起使用或正在做一些愚蠢的事情吗?
【问题讨论】:
-
哦,当我说它不会触发时。我的意思是它去控制器和服务器处理验证
-
你检查的是什么浏览器?,Jquery 2.x 不支持 IE 6、7 或 8。
-
我使用的是 Chrome 35.0.1916.153
-
您是否通过 nuget 更新了 jquery?当您更新 Jquery 时,您是否相应地更新了 jquery.validate 和 jquery.validate.unobtrusive ?
-
Read the documentation。 jQuery Validate 没有用 jQuery 版本 2 测试过,所以可能用
unobtrusive,它不会工作。
标签: jquery asp.net-mvc jquery-validate unobtrusive-validation