【发布时间】:2011-05-26 04:05:45
【问题描述】:
只是徘徊,我如何验证日期不是.net c#中的未来日期。
例子:
我已在此处应用验证以进行必填字段验证。但不知何故,我不知道如何应用验证来检查开始日期以确保它不是未来日期(日期不大于当前日期)?
<tr>
<td align="right">Start Date:</td>
<td><asp:TextBox runat="server" ID="activeDate" size="8"/>(YYYY-MM-DD)
<asp:RequiredFieldValidator ID="reqvactiveDate" runat="server"
ControlToValidate="activeDate" Display="Dynamic" EnableClientScript="true"
ErrorMessage="required" />
</td>
</tr>
我编写了以下代码来尝试日期验证。日期验证似乎对我不起作用:(
<tr>
<td align="right">Start Date:</td>
<td><asp:TextBox runat="server" ID="activeDate" size="8"/>(YYYY-MM-DD)
<asp:RequiredFieldValidator ID="reqvactiveDate" runat="server"
ControlToValidate="activeDate" Display="Dynamic" EnableClientScript="true"
ErrorMessage="required" />
<asp:CustomValidator runat="server"
ID="valDateRange"
ControlToValidate="activeDate"
onservervalidate="valDateRange_ServerValidate"
ErrorMessage="enter valid date" />
</td>
</tr>
后面的代码:
protected void valDateRange_ServerValidate(object source, ServerValidateEventArgs args)
{
DateTime minDate = DateTime.Parse("1000/12/28");
DateTime maxDate = DateTime.Parse("2011/05/26");
DateTime dt;
args.IsValid = (DateTime.TryParse(args.Value, out dt)
&& dt <= maxDate
&& dt >= minDate);
}
【问题讨论】:
-
您想要在客户端或服务器端进行验证?
-
@Muhammad Akhtar:我希望它在客户端
-
@M.R.:没有错误显示,不知何故日期检查的验证不起作用,但所需日期的验证正在工作
-
已经发布了我的答案。我已经测试过了。