我的
StartDate
模型上有 EndDate
和 SchoolEvents
,我想知道是否有任何数据注释可以用来验证 StartDate
小于或等于 EndDate
并且EndDate
大于或等于 StartDate
?
从我的角度来看,您必须构建一个自定义验证属性。您可以查看链接来验证您的具体验证。这需要你付出很大的努力。 您应该应用Fluent Validation,而不是使用数据注释,这将帮助您减少工作量。它易于设置、直接且关注点分离,您不需要在视图模型、域对象和依赖于业务规则的验证之间进行混合。
您可以通过安装和使用
foolproof
nuget 包来实现您所需要的。
安装
foolproof
nuget 包并使用其额外有用的属性,如下所示:
public class EventViewModel
{
[Required]
public string Name { get; set; }
[Required]
public DateTime Start { get; set; }
[Required]
[GreaterThan("Start")]
public DateTime End { get; set; }
}
更多您需要的示例在这里