MVC - 有一种方法可以在具有相同属性,不同名称的模型中声明多个属性

时间:2013-03-14 06:54:47

标签: c# asp.net-mvc

我需要声明所有具有相同属性的模型的许多属性。我想知道在MVC中是否有任何方法可以做到这一点。

[Required]
[Range(0, 4, ErrorMessage = "Integrity is required.")]
public int Integrity { get; set; }

[Required]
[Range(0, 4, ErrorMessage = "Empathy is required.")]
public int Empathy { get; set; }

我有一堆字段使用这两个属性(必需和范围),唯一不同的是属性的名称。有没有办法以较少重复的方式声明这些?

1 个答案:

答案 0 :(得分:1)

您的要求没有任何内置功能,但您可以使用ModelValidatorProviders实现此功能。您必须创建自己的提供程序并将其传递给MVC。 创建自己的属性,该属性将接受注释类型以及应该应用的属性数组。然后你可以相应地在该属性中编写所需的逻辑。 看看这个链接肯定会给你提示如何完成这个工作..

<强> CustomModelValidatorProvider