我正在将两个部分视图添加到容器视图中,每个视图都有自己的形式。部分观点有他们自己的操纵者。容器视图也有自己的表单,但我不是嵌套表单。
@Html.Action("Create", "RequestorInformation")
@Html.Action("Create", "UserInformation")
RequestorInformation部分视图的表单如下所示:
@using (Html.BeginForm("Create", "RequestorInformation", new { id = "formRequestorInformation" })) {
@Html.ValidationSummary(true)
UserInformation部分视图的表单如下所示:
@using (Html.BeginForm("Create", "UserInformation", new { id = "formUserInformation" })) {
@Html.ValidationSummary(true)
容器视图的表单如下所示:
@using (Html.BeginForm("Create", "SSAR", new { id = "formSSAR" })) {
为了验证和保存页面上的所有数据,我运行了这个脚本A (感谢米利米):
$('form').each(function (formIndex, formElement) {
var f = $(formElement);
alert('formIndex: ' + formIndex);
if ($(this).validate()) {
$.post(f.attr('action'), f.serialize(), successfulFormPost)
}
});
脚本通过每个表单进行递归,如果该表单有效,则将其发送到控制器上的适当方法。部分视图的Posts被执行,ModelState被计算,但是没有数据操作。
我的问题是:我需要“手动”验证每个部分视图,然后为将根据需要执行数据操作的容器表单创建一个Post。
我尝试用这个脚本B执行以下操作
$("#SubmitForm").click(function (event) {
event.preventDefault();
$('formRequestorInformation').validate();
if ($('formRequestorInformation').valid()) {
alert('Requestor Form Is Valid!!');
}
});
但是,在jQuery验证插件1.8.0中我得到了以下错误:
Microsoft JScript runtime error: 'this.0.form' is null or not an object
问:我如何单独验证页面上的部分视图,当所有视图都有效时,只发布一篇文章?
谢谢,
阿诺德
发布于 2011-04-19 11:45:41
我相当肯定我使用的库不是同步的。在重新安装和修复之后,我从头开始,现在一切都如广告所示。
我使用的是添加到主表单中的用户控件w/o表单,如下所示:
@Html.Action("Action", "Controller")
一个简单的提交按钮将验证整个表单。
修理后的Telerik: Telerik_Extensions_for_ASPNET_MVC_2011_1_315_OpenSource
谢谢,
阿诺德
https://stackoverflow.com/questions/5699971
复制相似问题