【发布时间】:2019-01-10 01:28:42
【问题描述】:
我有 JQuery 弹出窗口,我想在其上放置必需的字段验证,为此我在模型中设置了必需的属性,并且还在视图中为它们设置了验证消息,但必需的字段验证不适用于弹出窗口。必填字段验证在 JQuery Popups 以外的表单上运行良好......请指导我应该如何解决这个问题......以下是我的代码。
型号
[Display(Name = "Material Code")]
[Required(ErrorMessage = "*")]
public string MaterialCode { get; set; }
查看
<li>
@Html.LabelFor(m => m.MaterialCode)
@Html.TextBoxFor(m => m.MaterialCode)
@Html.HiddenFor(m => m.MaterialCodeId)
</li>
以下是我打开 JQuery 弹出窗口的代码。
$('#btnAddCharge').on('click', function (event) {
event.preventDefault();
var actionURL = '@Url.Action("Edit", "Charges", new { Id = 0, @ticketId = @TicketId, UserId = UserId })';
$(dialogBox).dialog({
autoOpen: false,
resizable: false,
title: 'Edit',
modal: true,
show: "blind",
width: 'auto',
hide: "blind",
open: function (event, ui) {
$(this).load(actionURL, function (html) {
$('form', html).submit(function () {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (res) {
if (res.success) {
$(dialogBox).dialog('close');
}
}
});
return false;
});
});
}
});
$(dialogBox).dialog('open');
});
【问题讨论】:
-
您是否在弹出窗口中动态加载表单(例如使用 ajax?)
-
@StephenMuecke 是的,我正在使用 ajax
-
你需要重新解析验证器。您需要展示您的脚本才能给出答案(编辑问题以包含它)。
标签: javascript jquery asp.net-mvc validation unobtrusive-validation