【发布时间】:2014-12-04 19:21:31
【问题描述】:
我的应用程序的许多部分都在使用一个实体。我需要为其属性之一添加验证。问题是我不需要在我的应用程序的每个部分都验证这个属性。
我考虑过使用自定义属性,但是我不确定如何绕过验证(因为它不依赖于其他属性,它实际上取决于我正在使用它的应用程序的一部分)。
我考虑过使用接口并有两种实现方式——一种带有这个属性,一种没有。但是我的应用程序中存在太多的耦合,这可能是太多的工作。
最终,我可以创建一个静态类来验证它。但我想知道是否会有更多 MVCish 选项?谢谢!
【问题讨论】:
-
派生类型可以隐藏属性(
new)并添加属性。 -
MVC 与验证无关。 MS MVC 框架支持归因验证,使开发人员更容易。在您的情况下,只是一个验证器类应该是一个简单的选项,并且您似乎已经在这样做了。
-
我认为“简单”的方法可以在这里找到stackoverflow.com/a/10896355/1370442
-
要么使用视图模型,因此您可以拥有一个具有在您的视图中使用的验证的类,然后您的实体没有上述验证,可以在不需要验证时使用,或者遵循@asawyer's建议。
标签: c# asp.net-mvc