Asp.net mvc 3 数据注释属性。如何设置执行顺序?
我为出生日期创建了如下验证属性:Asp.net mvc 3 数据注释属性。如何设置执行顺序?,asp.net-mvc-3,attributes,data-annotations,Asp.net Mvc 3,Attributes,Data Annotations,我为出生日期创建了如下验证属性: public class DateRequired : ValidationAttribute { public override bool IsValid(object value) { DateTime date = Convert.ToDateTime(value); return date != DateTime.MinValue; } }
public class DateRequired : ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime date = Convert.ToDateTime(value);
return date != DateTime.MinValue;
}
}
public class DateGraterThanEighteen : ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime date = Convert.ToDateTime(value);
long ticks = DateTime.Now.Ticks - date.Ticks;
int years = new DateTime(ticks).Year;
return years >= 18;
}
}
I applied attributes like this
[DateGraterThanEighteen(ErrorMessage="You must be at least 18")]
[DateRequired(ErrorMessage = "Date of birth is required")]
public DateTime DateOfBirth { get; set; }
无论我应用它们的顺序如何,DateGratterAneyen都会首先执行。如何使DateRequired首先执行?您可以将订单应用于筛选器。不确定是否可以使用验证属性重试
[DateGraterThanEighteen(ErrorMessage="You must be at least 18"), Order=1]
[DateRequired(ErrorMessage = "Date of birth is required"), Order=2]
public DateTime DateOfBirth { get; set; }
仅供参考,您拼错了:)
更新:没关系,不能这样做。你需要创造一个新的世界