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 に答える