【发布时间】:2016-02-02 18:48:40
【问题描述】:
我有一个用于多个表单的单一视图模型的设置,我的验证导致了我的问题。
问题 1 我可以使用单视图模型并仅验证表单中使用的字段吗?
我有一个视图模型
public class KundeOrdreVM : IPanelVM
{
public string PhoneNumber { get; set; }
public string ItemEAN{ get; set; }
}
在我看来,我有两种形式(此示例的代码已简化)
<form action="/CreatePhone" method="post" novalidate="novalidate">
@Html.EditorFor(model => model.PhoneNumber)
<input type="submit" value="Create Phone">
</form>
表格2:
<form action="/CreateItem" method="post" novalidate="novalidate">
@Html.EditorFor(model => model.ItemEAN)
<input type="submit" value="Create Item">
</form>
每个表单都使用来自共享 ViewModel 的单个字段。
我的问题是我想将这两个字段都设为 [必填],但前提是用户发布了使用该字段的表单。
有什么方法可以在重用同一个 ViewModel 的同时完成这项工作?
问题 2 如果我必须使用多个 ViewModel 作为每个表单的输入,是否有一个很好的设计实践指南来说明如何在单个 View 中使用多个 ViewModel?
我不喜欢为我页面上的每个表单制作大量的@Html.RenderPartial。表单紧密相连。
【问题讨论】:
标签: forms validation mvvm asp.net-mvc-5