2

我正在尝试在我的 MVC 项目中重用我的模型。然而,在某些情况下,模型需要填写所有字段,而在其他情况下,只需要填写一些字段。我将 [Required] 属性应用于所有情况下都需要的字段。但是其他人呢?有没有办法让那些其他字段只在某些情况下是必需的?

感谢您的任何想法。

4

1 回答 1

2

您可以通过创建一个自定义验证器来以一种“hacky”的方式进行操作,例如,模型中的另一个字段触发该验证器。但这似乎很奇怪。我真的会为每种情况选择一个自定义 VM:一个需要,一个不需要。如果您担心必须复制字段,则可以使用多种工具之一从您的 VM 映射到您的模型。查看 Automapper 和 ServiceStack.Text(它有一个TranslateTo方法)以获取简单映射器的两个示例。

于 2013-06-01T02:38:11.833 回答