MVC需要可选对象上的字段

时间:2012-11-14 13:04:24

标签: asp.net-mvc validation

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

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

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

  1. 用户选择隐藏部分内容并且不填写任何内容。整件事应该被忽略。
  2. 用户选择查看部分,现在他必须填写它。有些字段是必需的,有些则不是。
  3. 处理这个问题的好方法是MVC验证?我无法将字段标记为必需,因为回发将发布空值,服务器端逻辑将说ModelState.IsValid为false,因为缺少字段。

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

1 个答案:

答案 0 :(得分:2)

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

对于更难(更好一点)的解决方案,请阅读:DataAnnotations "NotRequired" attribute