Asp.net mvc 带有验证的MVC4嵌套表单

Asp.net mvc 带有验证的MVC4嵌套表单,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我在互联网上找不到一个好的答案,所以在这里提问 我有一个常规的非ajax表单(Html.BeginForm),在该表单中我希望有几个ajax表单 让我给你一个场景 我有一个相当大的购物车/结账表。在该表单中,用户将能够选择四个不同的选项(单选按钮)(每个选项有四个不同的表单-1.注册2.登录3.其他一些功能4.其他一些功能)。 所以在这个大表单中,我想要4个小表单。实现这一目标的正确方法是什么 还要注意的是,所有5个表单(大表单+4个小表单)都需要有自己的viewmodel。它们还需要有自己的验

我在互联网上找不到一个好的答案,所以在这里提问

我有一个常规的非ajax表单(Html.BeginForm),在该表单中我希望有几个ajax表单

让我给你一个场景

我有一个相当大的购物车/结账表。在该表单中,用户将能够选择四个不同的选项(单选按钮)(每个选项有四个不同的表单-1.注册2.登录3.其他一些功能4.其他一些功能)。 所以在这个大表单中,我想要4个小表单。实现这一目标的正确方法是什么


还要注意的是,所有5个表单(大表单+4个小表单)都需要有自己的viewmodel。它们还需要有自己的验证功能,也就是说,它们必须独立地触发自己的验证规则。

嵌套表单不是有效的标记,Ajax.BeginForm仍然会发出表单标记。考虑单选表单并基于单选按钮选择动态加载相关部分,我知道嵌套表单是否。我使用jQuery根据用户选择动态加载每个表单。它很好用。然而,我似乎不知道如何正确地验证ajax表单。我真的不知道如何编写viewmodel。。试图添加带有[Required]属性的用户名和密码字段,但这破坏了大表单。。因此,基本上我需要为每个表单提供不同的viewmodels/模型,对吗?尝试重新分析动态加载表单内容的验证,而不是调用$('form').valid()或$(document).valid()提交时,尝试只验证“子表单”的容器,即$('#subformid').valid()@nakchak getting Uncaught TypeError:如果($(“#tab2_step1”).valid(){//ajax method},则无法在此行调用未定义jquery.validate.js:94的方法'element'?!因为它是一个div而不是表单元素??我要重申nakchak的评论。嵌套表单无效。是否动态加载它们并不重要。您正在寻找的通常称为验证组。您必须选择放弃大表单,自己通过javascript提交,或者放弃内部表单,自己处理ajax。