我有这个类重写RangeAttribute:
public class RangeDateAttribute : RangeAttribute
{
public RangeDateAttribute()
: base(typeof(DateTime),
DateTime.Now.AddYears(-20).ToShortDateString(), DateTime.Today.ToShortDateString()) { }
}
我的属性的DataAnnotation:
[RangeDate(ErrorMessage = "Value for {0} must be between {1} and {2}")]
public DateTime anyDate { get; set; }
我在验证中使用了[ToShortDateString()]方法,但是当显示错误时,它会带来时间。例如:
Value for anyDate must be between 26/05/1995 00:00:00 and 26/05/2015 00:00:00
我该如何解决这个问题?
感谢。
答案 0 :(得分:1)
您可以在错误消息属性上使用一点格式:
[RangeDate(ErrorMessage = "Value for {0} must be between {1:dd/MM/yyyy} and {2:dd/MM/yyyy}")]
public DateTime anyDate { get; set; }
答案 1 :(得分:0)
您必须使用例如ArgumentException(String)方法格式化错误消息,并应用与短日期相关的String.Format(“{0:d}”,dt)格式规范。希望这可能有所帮助。最好的问候,