【发布时间】:2017-05-03 13:27:27
【问题描述】:
我有一个带有 Bootstrap 3 的 MVC 应用程序。我在表单中添加了 MVC 客户端验证,它工作正常。如果有错误,它将显示错误消息并阻止回发。这是使用标准 VS2015 MVC 模板附带的 jQuery 1.10.2。
然后我看到建议在 NuGet 中更新到 jQuery 3,我愚蠢地决定让它升级。这导致了 JS 错误,并使得我的 Bootstap 菜单无法工作,而不是任何客户端验证。
所以,我回滚到 jQuery 1.10.2,这并不容易。但是,现在我的 MVC 客户端验证不起作用。它允许表单进行回发。我不知道需要做什么才能重新开始工作。
这是我检查的内容:
Web.config
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
我的 ViewModel 属性之一
[Required(ErrorMessage = "*Required")]
public string Sequence { get; set; }
查看
<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 的底部
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
BundleConfig.cs
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*"));
【问题讨论】:
标签: c# jquery asp.net-mvc