ASP.Net MVC不同的必填字段

时间:2012-03-09 06:14:24

标签: asp.net-mvc-3

我有一个用于创建类似项目的表单。我将简化演示场景。

您可以创建众多“内容类型”中的一种。您可以选择添加“文件”,“文件夹”,“公告”等。我会使用/ home / addcontent?contenttype = FILE来确定要在视图中显示的选项。

每个内容项都有以下内容。

  1. 姓名
  2. 说明(可选)
  3. “文件”也有:

    1. 列表项
    2. FilePath
    3. 公告也有:

      1. 优先级
      2. DisplayHomepageFLG(可选)
      3. 我可以将所有这些添加到一个带有所有数据注释的viewmodel,但是modelstate.isvalid几乎永远不会为真,因为每个“内容类型”都有唯一的属性。

        是否有一些编程方式来添加或排除特定数据注释,或者我应该为每种内容类型设置单独的视图模型和控制器?

1 个答案:

答案 0 :(得分:0)

我能想到的唯一方法是使用RemoteValidationAttribute

Look here也是样本

然后在您的控制器中,您将不使用ModelState.IsValid,而只使用业务逻辑层中的验证

您还可以考虑使用JQuery.validation和您自己的脚本来检查字段