gpt4 book ai didi

javascript - 必填字段验证在 JQuery Popup MVC 4 中不起作用

转载 作者:数据小太阳 更新时间:2023-10-29 04:05:12 24 4
gpt4 key购买 nike

我有 JQuery 弹出窗口,我想对其进行必填字段验证,为此我在模型中设置了必填属性,还在 View 中为它们设置了验证消息,但必填字段验证不适用于弹出窗口。必填字段验证在 JQuery 弹出窗口以外的表单上工作正常....请指导我应该如何解决这个问题...以下是我的代码。

模型

[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');
});

最佳答案

验证器在页面最初加载时被解析。添加动态内容时,您需要重新解析验证器。加载内容后修改您的脚本以包含以下行

$(this).load(actionURL, function (html) {
// Reparse the validator
var form = $('form');
form.data('validator', null);
$.validator.unobtrusive.parse(form);
$('form', html).submit(function () {
....

旁注:您显示的代码不包括 @Html.ValidationMessageFor(m => m.MaterialCode) 但我认为它包括在内。

关于javascript - 必填字段验证在 JQuery Popup MVC 4 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31768946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com