2011-11-14 48 views
0

我有一個關於在C#中的DateTime的簡單問題。日期時間和字符串驗證

我有一個文本框,我要求用戶輸入一個日期。

我想在將字符串解析爲日期時間以驗證日期格式是否正確之前驗證文本框不是空的。

這裏有點我的代碼:

String strStartDate = txtStartDate.txt; 

DateTime StartDate = DateTime.Parse(strStartDate); 

我的名字和其他文本框等,我也驗證他們是否空的,這樣的if語句(同if語句來驗證,如果strStartDate爲空):

if (strFirstName.Trim() == "") 
    { 

     txtFirstName.BackColor = System.Drawing.Color.Yellow; 

     errorMessage = errorMessage + "First Name may not be empty. "; 
    } 

    else 
    { 

     txtFirstName.BackColor = System.Drawing.Color.White; 

    } 

調試器,只要我嘗試提交按鈕停止時,它說,字符串未被識別爲有效的DateTime。

有沒有辦法在驗證DateTime之前查看字符串是否爲空?

回答

2

什麼你也可以使用的TryParse:

 string SomeDate = "1/1/2012"; 
     DateTime dt; 
     var success = DateTime.TryParse(SomeDate, out dt); 

然後你就可以檢查成功看看它是否是一個有效的日期或不是。這將保護你免受任何無效的日期字符串,而不僅僅是一個空字符串或空字符串。