我使用的是jquery.validate.min.js和MVC 5应用程序中的jquery.validate.uno唐突.min.js。
我正在尝试以模态形式进行验证。字段不受模型约束。我遇到了一个不引人注目的验证问题。我得到这个错误。
中第779行第4列出现未处理的异常http://localhost:60667/Scripts/jquery.validate.js0x800a138f-JavaScript运行时错误:无法获取未定义或null引用的属性"normalizer"。
它出现在ChartEditModal中。
function OnChartSave()
{
if (OnChartSave.caller == null) return false;
// Reset jQuery Validate's internals (resets the inputs)
formValidator.resetForm();
if (!formValidator.element("#TitleDetail")) return;
}
$(document).ready(function ()
{
// Initialise form validator
formValidator = $("#dashboardForm").validate();
$("#TitleDetail").rules("add",
{
required: true,
messages: { required: "A title must must be specified" }
});
});
标记:
<div class="col-md-4">
<div class="form-group preventWrappingClass">
@Html.Label("Title", htmlAttributes: new { @class = "control-label col-md-4 labelForStyling" })
<div class="col-md-12">
@Html.Editor("TitleDetail", new { htmlAttributes = new { @class = "form-control pull-left", @id = "TitleDetail" } })
@Html.ValidationMessage("TitleDetail", "", new { @class = "text-danger" })
</div>
</div>
</div>
家长是
<form id="dashboardForm">
在父脚本中。
var formValidator = null;
我尝试重新排列脚本引用的顺序,删除一些,尝试使用Layout=null。
和
@Scripts.Render("~/Scripts/Chart.min.js")
@Scripts.Render("~/Scripts/utils.js")
<link href="~/Content/Site.css" rel="stylesheet" />
<link href="~/Content/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="~/Scripts/jquery-3.5.1.js"></script>
<link href="~/Content/Chart.min.css" rel="stylesheet">
<script src="~/Scripts/jquery-ui-1.12.1.min.js"></script>
<link href="~/Content/DataTables/css/jquery.dataTables.css" rel="stylesheet" />
<script src="~/Scripts/DataTables/jquery.dataTables.js"></script>
<script src="~/scripts/jquery.validate.min.js"></script>
<script src="~/scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="~/Scripts/Site.js"></script>
边缘和铬给我:
"无法读取jquery.validate.js:779未定义的属性"normalizer"在$.validator.check
有什么想法吗?
Thx
我刚刚在jquery validate和Telerik checkboxgroup以及radiogroup控件中遇到了同样的错误。事实证明,这一切都与名称属性有关。如果输入中缺少name属性或将其放置在错误的html标签上(例如UL(,则会出现这种情况。希望它能在未来帮助别人。