1

我有这个类覆盖 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

我该如何解决这个问题?

谢谢。

4

2 回答 2

1

您可以在错误消息属性上使用一些格式:

[RangeDate(ErrorMessage = "Value for {0} must be between {1:dd/MM/yyyy} and {2:dd/MM/yyyy}")]
public DateTime anyDate { get; set; }
于 2015-05-27T02:02:23.317 回答
0

您必须使用例如 ArgumentException(String) 方法格式化错误消息,并应用与短日期相关的格式化规范,如 String.Format("{0:d}", dt)。希望这可能会有所帮助。此致,

于 2015-05-27T02:00:53.963 回答