0

我尝试验证仅需要第一个日期的两个日期(开始-> 结束),但是当用户输入第二个日期时,它必须大于第一个日期。我正在使用带有“PassOnNull”参数的 MVC Foolproof 包。

模型

<Required()> _
<DisplayName("Event Start")> _
<DataType(DataType.DateTime)> _
'This doesn't work:
Public Property EventStart As Nullable(Of DateTime)
'This does work but with the ugly default value in the textbox
Public Property EventStart As DateTime

<DisplayName("Event End")> _
<DataType(DataType.DateTime)> _
<GreaterThan("EventStart", PassOnNull:=True)> _
Public Property EventEnd As Nullable(Of DateTime)

我可以通过将 EventStart 日期设置为不可为空,但随后我在文本框中获得一个默认日期,其值为“01.01.0001 00:00:00”,这甚至不是我的国家/地区设置!

因此,我想让它与可为空的模型属性一起使用,或者摆脱“01.01.0001 00:00:00”值并改用空白文本男孩!

4

1 回答 1

1

好的,在 Codeplex 上阅读http://foolproof.codeplex.com/discussions/220498后,我现在知道它可以反过来工作:

<Required()> _
<DisplayName("Event Start")> _
<LessThan("EventEnd", PassOnNull:=True)> _
Public Property EventStart As Nullable(Of DateTime)

<DisplayName("Event End")> _
Public Property EventEnd As Nullable(Of DateTime)
于 2012-09-17T07:14:44.970 回答