创建接受参数“今天”的日期范围验证器

时间:2013-02-26 07:51:27

标签: c# asp.net-mvc validation attributes

我创建了如下所示的日期范围属性:

[DateRange(Min = "Today")]

在这个属性中,我得到这样的最短日期:

...
var minDate = DateTime.Now;
...

编辑:以下是更多代码:

private DateTime _minDate = DateTime.Today.AddYears(-100);
private DateTime _maxDate = DateTime.MaxValue;

// String representation of the Min Date (yyyy/MM/dd)
public string Min
{
    get { return FormatDate(_minDate, DateTime.Today.AddYears(-100)); }
    set { _minDate = value == "Today" ? DateTime.Today : ParseDate(value, DateTime.Today.AddYears(-100)); }
}
// String representation of the Max Date (yyyy/MM/dd)
public string Max
{
    get { return FormatDate(_maxDate, DateTime.MaxValue); }
    set { _maxDate = value == "Today" ? DateTime.Today : ParseDate(value, DateTime.MaxValue); }
}

由于属性的性质,minDate在编译时只设置一次。你能告诉我实现这个功能的替代方法吗?

1 个答案:

答案 0 :(得分:0)

使用CustomValidator

想一想,如果你将内容(minDate)标记为volatile怎么办?请做并报告它是否有效。如果它有效,我有一些更新自己做。

相关问题