我正在尝试简化数据模型的验证。我想使用一个变量来表示DataAnnotation Range验证器的属性的上限。像这样。
namespace MvcGMDemo.Models
{
public class Vehicle
{
private static const int year;
//public Vehicle()
//{
// year = DateTime.Now.Year;
//}
public int VehicleId { get; set; }
[Required]
public string Vin { get; set; }
[Required]
public string Make { get; set; }
[Required]
public string Model { get; set; }
[Required]
[Range( DateTime.Now.Year - 5, DateTime.Now.Year)]
public int Year { get; set; }
}
}
我可以放一个常量,但是每个新的一年都需要重新编译代码吗?非常感谢任何帮助。
由于
答案 0 :(得分:0)
您应该为此构建自定义验证器。沿着这些方向进行一些调整(根据您的情况调整):
public class RangeLast5Years : RangeAttribute
{
public RangeLast5Years() :
base(typeof(int), DateTime.Now.Year - 5, DateTime.Now.Year) { }
}
并按如下方式使用:
[RangeLast5Years]
public int Year { get; set; }
希望这会有所帮助,如果没有,请告诉我。感谢。