【发布时间】:2014-10-30 14:31:00
【问题描述】:
我的视图中有以下 HTML:
@model PatientLookupModel
@if (Model.IsModelInvalid)
{
@Html.ValidationSummary(false, Model.Resources.InvalidFormMessage)
}
@using (Html.BeginForm("Lookup", "Patient", FormMethod.Post, new { role = "form" }))
{
@Html.Label(Model.Resources.PatientFirstNameLabel)
@Html.TextBoxFor(m => m.PatientFirstName, new { @class = "form-control" })
}
我的模型如下所示:
using RESOURCES = AppResources.Resources;
namespace Models
{
public class PatientLookupModel
{
[Required(ErrorMessageResourceType = typeof(RESOURCES), ErrorMessageResourceName = "Patient_Lookup_PatientFirstNameRequiredMessage")]
public string PatientFirstName { get; set; }
}
}
我的 BundleConfig 如下所示:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/lib/jquery-{version}.js",
"~/scripts/lib/jquery.unobtrusive*",
"~/Scripts/lib/jquery.validate*",
"~/Scripts/lib/jquery.maskedinput.js"));
表单本身按预期工作。如果未输入名字,页面将重新加载并填充验证摘要。问题是,当您在名字输入中键入内容然后它失去焦点时,浏览器控制台中会引发异常:
data 未定义。
有什么想法吗?
【问题讨论】:
-
stackoverflow.com/a/14822755/1893261 看看这篇文章,如果有帮助请告诉我。
-
@ShukhratRaimov:我之前曾尝试加载早期版本的 jquery(我使用的是 1.11.1)并注意到它具有不同的行为。使用 1.11.1,它实际上会回发,但版本
标签: jquery asp.net-mvc-4 validation