我想验证日期是否有效,这意味着它不在将来,并确保它的合法日期,即03/32/2012无效。我目前的作品仅用于验证日期是否有效,但在将日期放入日期时不起作用。另外我有一个问题,如果有人输入日期如03/32/2012它会说它无效,但他们仍然可以点击保存按钮,然后发生异常。解决这个问题的最好方法是什么?使用ASP.NET验证器进行日期验证
这里是我的代码:
<asp:TextBox ID="tbDate" runat="server" Text=""></asp:TextBox>
<asp:Image ID="imgCalendar" runat="server" ImageUrl="~/App_Themes/Sugar2006/images/Calendar_scheduleHS.png" ImageAlign="Middle" />
<asp:CalendarExtender ID="ce" runat="server" TargetControlID ="tbDate" PopupButtonID="imgCalendar" />
<asp:MaskedEditExtender ID="mex" runat="server"
TargetControlID="tbDate"
Mask="99/99/9999"
MaskType="Date"
MessageValidatorTip="true"
OnFocusCssClass="MaskedEditFocus"
OnInvalidCssClass="MaskedEditError" />
<asp:MaskedEditValidator ID="mev" runat="server"
ControlToValidate="tbDate"
ControlExtender="mex"
Display="Dynamic"
InvalidValueMessage="This date is invalid!" Font-Bold="True"
ForeColor="#D50000" />
<asp:RequiredFieldValidator runat="server" ID="DReq"
ControlToValidate="tbDate"
Display="None"
ErrorMessage="A Date is required." ValidationGroup="vgMyGroup"/>
<asp:ValidatorCalloutExtender runat="Server" ID="DReqE"
TargetControlID="DReq"
HighlightCssClass="validatorCalloutHighlight" />
嘿谢谢你的回复。我已经添加了你建议的代码,但是我仍然没有得到错误通知。 – 2012-04-04 20:45:14
你能用新代码更新你的问题吗? – 2012-04-04 20:49:13
我已经添加了一个ValidationGroup =“vgMyGroup”到MaskedEditValidator,它不会让用户提交,除非日期是正确的,并且工作正常...现在我只需要让它工作,以便用户不能输入未来的日期,如果他们做也给错误。 MaskEditExtender上有一个参数来调用ClientValidationFunction,但它看起来并不像它的JavaScript甚至... – 2012-04-05 13:12:14