我正在處理髮票的日期字段。爲發票日期選擇的日期不能是當前月份以外的任何日期。驗證當前月份中的日期
這裏是我的代碼:
at Page_Load:
Dim firstOfTheMonthDate As DateTime = FirstDayOfMonthFromDateTime(DateTime.Now)
Me.compareValidatorDate.ValueToCompare = firstOfTheMonthDate.ToString("d")
我的專用功能
Private Function FirstDayOfMonthFromDateTime(dateTime As DateTime) As DateTime
Return New DateTime(dateTime.Year, dateTime.Month, 1)
End Function
客戶端:
<asp:Label ID="lblInvDate" runat="server" AssociatedControlID="txtInvDate">Invoice Date:</asp:Label>
<asp:TextBox runat="server" ID="txtInvDate" MaxLength="20" CssClass="L5 DateCal" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="txtInvDate"
Text="The date field is required!" runat="server" />
<asp:CompareValidator ID="compareValidatorDate" ControlToValidate="txtInvDate"
Type="Date" Operator="LessThan" ErrorMessage="Date must be from this month!"
Display="Dynamic" runat="server" />
我遇到的問題是,確認不會發生,或至少,如果輸入的日期不是空白或空白,則保存發票日期。我如何改進我的代碼?
信用卡爾安德森幫助代碼。
您的驗證說明在txtInvDate中輸入的值必須小於任意月份的第一天。這似乎不是您所說的驗證行爲,您希望它大於或等於當前月份的第一個月份,並且小於或等於當前月份的最後一天。我對您的要求的理解是否正確? – Adrian
@阿德里安 - 感謝您注意到,我已經把它放在了腦海中,但是寫下了與您所說的完全相反的邏輯。 –
是的阿德里安,絕對正確。 – JettyJetty