在asp.net C#中验证日期的最简单方法是什么?

时间:2009-03-03 23:50:19

标签: c# asp.net

我正在使用DateTime.ParseExact来解析输入中的字符串。确保日期符合一个月或不是一个月的最大天数等规则的最简单方法是什么?

4 个答案:

答案 0 :(得分:12)

您可以使用...

进行其他验证
DateTime.TryParse();

http://msdn.microsoft.com/en-us/library/9h21f14e.aspx

希望这有帮助。

答案 1 :(得分:2)

正如BoltBait所说,或 DateTime.TryParseExact(),如果你知道字符串的确切格式。

http://msdn.microsoft.com/en-us/library/system.datetime.tryparseexact.aspx

答案 2 :(得分:2)

如果您在代码中执行此检查,那么执行DateTime.TryParse()的答案非常好,但如果您在UI上捕获此数据,那么我会高度推荐在回发之前对输入进行修改发生后面的代码。

<strong>Date:</strong>
<asp:textbox ID="txtEnterDate" runat="server"></asp:textbox>
<asp:CompareValidator ID="cvEnterDate" runat="server" ControlToValidate="txtEnterDate"
    ErrorMessage="Must Be Valid Date" Operator="DataTypeCheck" 
    SetFocusOnError="True" Type="Date"></asp:CompareValidator>

答案 3 :(得分:0)

  protected void txtTo_TextChanged(object sender, EventArgs e)
    {
        TextBox tbTo = (TextBox)sender;
        DateTime wsToOUT;
        if (DateTime.TryParse(tbTo.Text, out wsToOUT))
        {
            //do something with valid date in tbTo
        }
        else
        {
            //show a nice error message
            tbTo.Focus();
        }
    }