2011-11-14 53 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); 

然后你就可以检查成功看看它是否是一个有效的日期或不是。这将保护你免受任何无效的日期字符串,而不仅仅是一个空字符串或空字符串。