JQuery Popup MVC 4中的必填字段验证不起作用

 2023-02-17    415  

问题描述

我有jQuery弹出窗口,我想在其上放置所需的字段验证,为此,我已经在模型中设置了所需的属性,并且还在视图中为其设置了验证消息,但是所需的字段验证不适用于弹出窗口.所需的现场验证在jQuery弹出窗口以外的表格上正常工作….请指导我,我该怎么办解决此问题…以下是我的代码.

模型

JQuery Popup MVC 4中的必填字段验证不起作用

[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>

和以下是我的cod eto打开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),但我认为这包括在内.

以上所述是小编给大家介绍的JQuery Popup MVC 4中的必填字段验证不起作用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34188.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。