7

我需要声明一个模型的很多属性,它们都具有相同的属性。我想知道在 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; }

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

4

1 回答 1

1

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

CustomModelValidatorProvider

于 2013-03-14T07:22:38.990 回答