Ich versuche zu validieren, wenn das Datum gültig ist, was bedeutet, dass es nicht in der Zukunft und auch sicherstellen, dass es ein legitimes Datum ist, d.33/32/2012 ist nicht gültig. Was ich derzeit habe funktioniert nur um zu überprüfen, ob das Datum gültig ist, aber es funktioniert nicht, wenn ich das Datum in Zukunft platziere. Auch habe ich ein Problem, wenn jemand ein Datum wie 03/32/2012 eingibt, wird es sagen, dass es nicht gültig ist, aber sie können immer noch auf die Schaltfläche "Speichern" klicken und dann wird die Ausnahme auftreten. Was ist der beste Weg, dies zu erreichen?Datum Validierung mit ASP.NET Validator
Hier ist mein Code:
<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" />
Hey vielen Dank für die Antwort. Ich habe den von Ihnen vorgeschlagenen Code hinzugefügt, aber dann werde ich immer noch nicht über den Fehler informiert. –
Können Sie Ihre Frage mit Ihrem neuen Code aktualisieren? –
Ich habe eine ValidationGroup = "vgMyGroup" zum MaskedEditValidator hinzugefügt, die den Benutzer nicht festschreiben lässt, wenn das Datum korrekt ist und das funktioniert ... Jetzt muss ich es nur noch funktionieren lassen, damit der Benutzer kein zukünftiges Datum eingeben kann tue, um auch Fehler zu geben. Es gibt einen Parameter auf dem MaskEditExtender, der ClientValidationFunction aufruft, aber es scheint nicht so, als würde er sogar das Javascript treffen ... –