2

我有一个复杂的视图模型,它有一些子类。为了一个简单的例子,我们假设有一个子类。

该子类通过渲染局部视图来显示。用户可以在界面中切换该视图,完全隐藏整个内容。

现在有两个有效的输入选项:

  1. 用户选择隐藏部分并且不填写任何内容。整个事情应该被忽略。
  2. 用户选择查看部分,现在他必须填写。有些字段是必需的,有些不是。

处理这个问题的好方法是 MVC 验证?我无法将这些字段标记为必填,因为回发将发布空值,并且服务器端逻辑会说 ModelState.IsValid 为假,因为缺少字段。

当然,我可以丢失 [Required] 属性并自己手动进行检查,但我想知道是否没有更好的方法来获得相同的结果。

4

1 回答 1

2

最简单的方法是这样的ASP.NET MVC 3 Data Annotation: Add validation dynamic

对于更难(更好一点)的解决方案,请阅读:DataAnnotations“NotRequired”属性

于 2012-11-14T13:23:29.780 回答