我正在使用MVC5并且我试图让客户端验证触发而不是服务器旅行。验证工作在服务器端,但我不能让客户端使用jquery 2.1.1触发
我正在使用bundle来注册脚本。在客户端源代码中,脚本似乎被正确引用。
<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中,我启用了clientide和unobtrusive
<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或者做一些愚蠢的事情的任何想法?
答案 0 :(得分:0)
这可能是jQuery冲突。尝试在jQuery中使用noConflict,如下所示:
var $j = jQuery.noConflict();
答案 1 :(得分:-1)
我有同样的问题。看起来jQuery validate不能与jQuery 2.1.1一起使用
也许你应该尝试
https://www.nuget.org/packages/Microsoft.jQuery.Unobtrusive.Validation/