我在视图模型中使用MVC(我为每个视图创建单独的视图模型)。 我有2个物体;产品和类别;产品可以有一个类别。 我有单独的视图模型(productCreateVM,CategoryCreateVM)
我可以创建产品或类别;用户可以在创建新产品时选择当前类别之一,没问题。
我需要做的是;在创建新产品时,用户可以选择当前类别之一或创建新类别而不是选择它。
如果我在ProductCreateVM中添加CategoryCreateVM,则需要填写CategoryCreateVM的必填字段,以使模型状态有效。 但是,如果用户已经为他们的产品找到了一个类别而没有创建一个新类别;我无法填写CategoryCreateVM的所有必填字段。
另一方面;如果用户从产品创建视图创建新类别;然后应该应用所有验证(类别名称长度等)。
有任何建议如何解决这个问题?
答案 0 :(得分:0)
如果您想使用更复杂的验证,请参阅http://foolproof.codeplex.com/是否足够。
它应该为您提供所需的条件验证
答案 1 :(得分:0)
您应该考虑在“创建产品视图”中将“创建类别视图”渲染为部分视图。
可以通过例如切换其可见性在“类别”下拉菜单中选择“创建类别”。
例如:
@Html.Partial("Category/Create")