【发布时间】:2014-12-19 18:46:46
【问题描述】:
嗨,我正在尝试通过 asp 的文本框控件来验证我的身份。
我希望它验证它是否为空,一个日期是今天还是将来而不是过去,并且日期格式是正确的 MM/DD/YYY。
我为此编写了这段代码:
If String.IsNullOrEmpty(txtPickupDate.Text) Then
lblError.Text = lblError.Text & "<BR>You must enter in the field Pickup Date."
lblError.Visible = True
rtn = False
Else
If txtPickupDate.Text > DateTime.Now.ToString("MM/DD/YYYY") Then
lblError.Text = lblError.Text & "<BR>You must enter in a valid date for Pickup."
lblError.Visible = True
rtn = False
Else
Dim Pickup As Date
If Date.TryParseExact(txtPickupDate.Text.ToString(), "mm/dd/yyyy", _
System.Globalization.CultureInfo.CurrentCulture, _
Globalization.DateTimeStyles.None, Pickup) Then
Else
lblError.Text = lblError.Text & "<BR>You must enter the Pickup Date in the format of MM/DD/YYYY."
lblError.Visible = True
rtn = False
End If
End If
End If
但它在
上不起作用如果 txtPickupDate.Text > DateTime.Now.ToString("MM/DD/YYYY") 那么
【问题讨论】:
-
不要对日期数据进行文本比较。 dotnetfiddle.net/czRPsJ
-
为什么不解析日期字符串?
-
@Plutonix 除非它是 ISO 8601 (en.wikipedia.org/wiki/ISO_8601) 格式并且日期在 [1000 和 10000) 之间。
-
将
txtPickupDate.Text解析为一个日期并比较它(日期至今) -
我试过 If DateTime.Parse(txtPickupDate.Text) > DateTime.Now Then 还是不行