我需要声明所有具有相同属性的模型的许多属性。我想知道在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; }
我有一堆字段使用这两个属性(必需和范围),唯一不同的是属性的名称。有没有办法以较少重复的方式声明这些?
答案 0 :(得分:1)
您的要求没有任何内置功能,但您可以使用ModelValidatorProviders实现此功能。您必须创建自己的提供程序并将其传递给MVC。 创建自己的属性,该属性将接受注释类型以及应该应用的属性数组。然后你可以相应地在该属性中编写所需的逻辑。 看看这个链接肯定会给你提示如何完成这个工作..
<强> CustomModelValidatorProvider 强>