【问题标题】:Regular expression or Jquery to validate a ASP.NET textbox for valid date and in the past正则表达式或 Jquery 验证 ASP.NET 文本框的有效日期和过去
【发布时间】:2012-01-14 00:57:16
【问题描述】:

我正在尝试验证文本字段的有效日期 (MM/DD/YYYY) 我没有这样做 之前的验证,想知道是通过正则表达式验证器还是通过 Jquery 容易实现?

示例将不胜感激。

【问题讨论】:

    标签: jquery asp.net


    【解决方案1】:

    在 ASP.Net 中验证输入文本框以确保其具有有效日期的最简单方法是使用 ASP.Net CompareValidator。将 Operator 设置为“DateTypeCheck”,将 Type 设置为“Date”,只有在输入文本框包含有效日期的情况下才会提交表单。

    <asp:TextBox ID="tbInput" runat="server" />
    <asp:CompareValidator ID="cmpTest" EnableClientScript="true" ControlToValidate="tbInput" 
    Type="Date" Operator="DataTypeCheck" runat="server"/>
    

    更多详情请看这里: http://msdn.microsoft.com/en-us/library/ad548tzy(v=vs.71).aspx

    要确保日期是过去的,请使用 ASP.Net 范围验证器,并以编程方式将 MaximumValue 和 MinimumValue 属性设置为您想要的最大和最小日期:

    <asp:RangeValidator ID="cmpTest2" ControlToValidate="tbInput" Type="Date" runat="server" ErrorMessage="Date must be in past" />
    
    protected void Page_Init(object sender, EventArgs e)
    {
        cmpTest2.MaximumValue = DateTime.Now.Date.ToString("MM-dd-yyyy");
        cmpTest2.MinimumValue = DateTime.Now.AddYears(-100).ToString("MM-dd-yyyy");
    }
    

    【讨论】:

    • 谢谢乔!如何确保它是过去的有效日期而不是将来的有效日期。
    • 您可以使用 RangeValidator。请参阅上面对我的帖子的修改。
    猜你喜欢
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    相关资源
    最近更新 更多