我需要声明模型的许多属性,这些属性都具有相同的属性。我想知道在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; }我有一堆使用这两个属性(required和range)的字段,唯一不同的是属性的名称。有没有办法以一种涉及较少重复的方式来声明这些?
发布于 2013-03-14 15:22:39
虽然没有针对您的需求的任何内置功能,但是您可以使用ModelValidatorProviders来实现此功能。您必须创建自己的提供程序并将其传递给MVC。创建您自己的属性,它将接受注释的类型以及它应该应用到的属性数组。然后,您可以相应地在该属性中编写所需的逻辑。看一下这个链接,它肯定会给你提示如何完成这项工作。
https://stackoverflow.com/questions/15402991
复制相似问题