我有一个复杂的视图模型,它有一些子类。为了一个简单的例子,我们假设有一个子类。
该子类通过渲染局部视图来显示。用户可以在界面中切换该视图,完全隐藏整个内容。
现在有两个有效的输入选项:
- 用户选择隐藏部分并且不填写任何内容。整个事情应该被忽略。
- 用户选择查看部分,现在他必须填写。有些字段是必需的,有些不是。
处理这个问题的好方法是 MVC 验证?我无法将这些字段标记为必填,因为回发将发布空值,并且服务器端逻辑会说 ModelState.IsValid 为假,因为缺少字段。
当然,我可以丢失 [Required] 属性并自己手动进行检查,但我想知道是否没有更好的方法来获得相同的结果。