首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >回滚MVC3会导致jQuery客户端验证失败?

回滚MVC3会导致jQuery客户端验证失败?
EN

Stack Overflow用户
提问于 2017-05-03 21:27:28
回答 1查看 31关注 0票数 0

我有一个带有Bootstrap 3的MVC应用程序。我将MVC客户端验证添加到我的表单中,它工作正常。如果有错误,它将显示错误消息并阻止回发。这使用的是标准VS2015 MVC模板附带的jQuery 1.10.2。

然后我在NuGet中看到了升级到jQuery 3的建议,愚蠢的是我决定让它升级。这导致了JS错误,并使得我的Bootstap菜单不会在任何客户端验证中工作。

因此,我回滚到jQuery 1.10.2,这并不容易。但是,现在我的MVC客户端验证不起作用了。它允许窗体进行回发。我想不出需要做些什么才能重新开始工作。

以下是我检查过的内容:

Web.config

代码语言:javascript
复制
<appSettings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

我的ViewModel属性之一

代码语言:javascript
复制
[Required(ErrorMessage = "*Required")]
public string Sequence { get; set; }

视图

代码语言:javascript
复制
<div class="col-md-3">
    <label class="control-label">Sequence</label>
    @Html.TextBoxFor(m => m.Sequence, new { @maxlength = "6", @class = "form-control", autofocus = "autofocus" })
    @Html.ValidationMessageFor(m => m.Sequence, null, new { @class = "text-danger" })
</div>

我的_Layout.cshtml底部

代码语言:javascript
复制
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)

BundleConfig.cs

代码语言:javascript
复制
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
            "~/Scripts/jquery-{version}.js",
            "~/Scripts/DigitalBrushMaskedInput.min_1.4.1.js"));

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
            "~/Scripts/jquery.validate*"));
EN

回答 1

Stack Overflow用户

发布于 2017-05-03 22:01:34

我发现了我的问题,想把它贴出来,以防别人发现它。

基本上,我的脚本文件夹中缺少jquery.validate.js文件。我在处理jquery.validate.unobtrusive.js时遇到了另一个JS错误,这让我发现我缺少了验证文件,当我回滚jQuery时,该文件一定已经被删除了。

我做的一件事就是创建了一个新的简单的MVC站点。然后,我将Scripts文件夹中的文件与我的其他项目的脚本文件夹中的文件进行了比较。

希望这对其他人有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43761460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档