需要允许用户仅在我的视图中选择特定范围内的日期

时间:2014-12-12 19:08:57

标签: c# asp.net-mvc datetime datepicker data-annotations

我有一个DateTime,我们使用HTML5来显示日期选择器,在某些情况下,只允许用户选择特定范围内的日期。

此范围是动态的,并且基于另一个属性。

在我的模型中,我有这个属性,它是日期选择器中首次显示的日期:

[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime StartDate { get; set; }

我需要将此属性的DateTime.MinValue作为同一对象中的另一个属性:

DateTime TruckPriorityDropOffFromMin { get; set; }

没有为datetime设置范围,所以我知道我必须为此创建一个自定义方法,以便检查TruckPriorityDropOffFromMin的值并将其分配给最小值。

我只是不知道该怎么做,或者如果有更好的方法可以不使用jquery datepicker。我们只需要用户只能选择TruckPriorityDropOffFromMin属性值之后的日期。

1 个答案:

答案 0 :(得分:0)

如果要在服务器端验证,则可以创建自定义属性类,然后使用它来验证对象 -

[ValidateMinDate("TruckPriorityDropOffFromMin")]
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime StartDate { get; set; }

然后像这样使用它 -

javascripts

但是如果您想在客户端进行测试,则需要jQuery进行测试,例如js或其他<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.1</version> <scope>runtime</scope> </dependency> 库。

注意:我现在没有可视化工作室,因此无法提供完整的代码,但此过程应该有效。