我的StartDate
模型上有EndDate
和SchoolEvents
,我想知道是否有任何数据注释我可以用来验证StartDate
是否小于或等于EndDate
且EndDate
是否大于或等于StartDate
?
答案 0 :(得分:5)
从我的角度来看,你必须建立一个custom validation attribute。您可以查看link以验证是否遵循特定的验证。这将需要你的努力。 您应该应用Fluent Validation而不是使用数据注释,这将有助于您减少工作量。它易于设置,直接和分离,您不需要在视图模型,域对象和依赖于业务规则的验证之间进行混合。
答案 1 :(得分:3)
您可以通过安装和使用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; }
}
您需要的更多示例是here