1

我正在处理一个非常大的订单表格,其中包含一堆一次性提交的多部分数据。我正在使用这个技巧,您可以在 HTML 中呈现 30-40 个项目行,并允许用户使用 jQuery 或多或少地“显示”或“隐藏”。

问题是,虽然用户可能有三行“显示”并且他们碰巧完全填写了所有三行,但我的模型永远不会验证,因为还有另外 27 个无效(空)项目被提交。

我的解决方案是说搞砸内置模型验证并使用一些自定义模型验证,例如 ModelState.AddModelError(),但我觉得必须在控制器级别重复我的模型验证。

有没有更好的方法来处理这个?

4

2 回答 2

0

将大表格拆分为多个表格。每个表格将代表一个不同的步骤。将您的大型模型拆分为多个视图模型,每个模型对应于给定的步骤。如果您希望 ajaxify 表单提交和显示/隐藏步骤,请使用 jquery 逐步增强。

于 2010-10-23T09:46:18.010 回答
0

谢谢,但我只是遍历每一行,并使用 jQuery 在提交按钮的 onclick 事件上从 DOM 中删除空行。

于 2010-10-29T21:51:58.457 回答