繁体   English   中英

日期验证-仅输入当月内的日期

[英]Date Validation - Only enter dates within current month

我已经分配了验证日期字段的任务,该日期字段在创建发票时会被填充。 它是带有三个按钮对象的文本框,允许用户从日历中选择日期,输入今天的日期或删除日期条目。

我的任务是确保用户不能输入不在当前月份内的日期(双否定... tric)。 我的任务是确保用户只能输入当月内的日期。 (更好?)

我不知道该怎么做。 我应该使用asp控件还是在后端使用它?

我正在使用VB.NET。

使用ASP.NET Validator控件,如下所示:

标记:

<asp:TextBox id="YourTextBox" runat="server" />

<asp:RequiredFieldValidator ControlToValidate="YourTextBox" 
    Text="The date field is required!" runat="server" />
<asp:CompareValidator ID="compareValidatorDate" ControlToValidate="YourTextBox" 
    Type="Date" Operator="LessThan" ErrorMessage="Date must be from this month!"
    Display="Dynamic" runat="server" />

注意:我包括了RequireFieldValidator以确保我们有一个值可以与日期验证进行比较。

后台代码( Page_Load ):

If Not IsPostBack Then
    Dim firstOfTheMonthDate As DateTime = FirstDayOfMonthFromDateTime(DateTime.Now)
    Me.compareValidatorDate.ValueToCompare = firstOfTheMonthDate.ToString("d")
End If

后台代码(实用功能):

Public Function FirstDayOfMonthFromDateTime(dateTime As DateTime) As DateTime
    Return New DateTime(dateTime.Year, dateTime.Month, 1)
End Function

注意:我提供了一个确定当前月份第一天日期的功能。 Page_Load正在调用该函数,然后将其作为要比较的值传递给验证器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM