0

我正在尝试验证动态加载从 jquery ajax 调用生成的视图的 JQuery 模型对话框中的表单

页面上已经有一个表单,并且该表单正在另一个表单下创建,并且一切似乎都正常,但我不确定是否可以在第二个表单上使用常规 MVC 验证,因为它是动态创建的。

这是主要的 HTML 视图

 <% Html.EnableClientValidation(); %>
    <% using (Html.BeginForm("UpdateFund", "AdministerFundFeature", FormMethod.Post, new { enctype = "multipart/form-data" })) { %>

    <fieldset>

       ...
    <input type="submit" value="Submit" />
   </fieldset>
<%} %>

    <div id="GrantRecipDialog" title="Add/Edit Grant Recipiant">
        <div id="GrantRecipContent"></div>
    </div>

在按钮上单击此功能会触发使用新表单填充 div

var url = "<%: Url.Action( "AddOrUpdateGrantRecip", "AdministerFundFeature") %>" + "?aGrantId=" + aGrantId + "&aFundId=" + aFundId;
            $.ajax({
                url: url, 
                success: function (data) {
                    $('#GrantRecipContent').html(data); /*place the data here, and rerender the section*/
                    $('#GrantRecipDialog').dialog("open");
                },
                error: function () { alert("There was a problem with your request, please resubmit your request."); },//??
                complete: function() {}
            });

         }

这是在弹出窗口中呈现的视图

<% Html.EnableClientValidation(); %>
<% using (Ajax.BeginForm("updateGrant", "AdministerFundFeature", 
       new AjaxOptions { OnComplete="function(){onGrantRecipUpdate()}", OnFailure="function(){return onGrantFail()}"},
       new { @id = "frmID" }))
   { %>
<fieldset>
   ...

</fieldset>
<%}%>

是否可以为弹出窗口连接 MVC 验证,它在第一种形式中工作正常,但我不确定如何明确告诉 MVC 为生成的新生成验证信息

4

2 回答 2

1

创建表单后使用它:

$.validator.unobtrusive.parse($('form'));
于 2015-03-19T08:27:00.443 回答
0

不久前我遇到了这个问题,发现我只需将验证错误输入到 JSON 结果中,并使用 Ajax 表单的完整方法处理它们。

我找不到我链接到的文章,但确实找到了这个;

http://www.hightech.ir/SeeSharp/aspnet-validation-with-ajax-and-json

于 2011-04-26T00:47:37.600 回答