【问题标题】:Create date range validator that accepts parameter "Today"创建接受参数“今天”的日期范围验证器
【发布时间】:2013-02-26 07:51:27
【问题描述】:

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

[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 在编译时只设置一次。您能告诉我实现此功能的替代方法吗?

【问题讨论】:

  • 另类,如以什么方式?

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


【解决方案1】:

使用CustomValidator

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

【讨论】:

    猜你喜欢
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多