2011-11-14 9 views
0

私はDateTimeについての簡単な質問をc#で持っています。DateTimeと文字列の妥当性確認

私は、ユーザーに日付を入力するよう求めるテキストボックスを持っています。

日付が正しい形式であることを検証するために文字列を日付時刻に解析する前に、テキストボックスが空でないことを検証したいとします。ここで

は、私のコードのビットは次のとおりです。

String strStartDate = txtStartDate.txt; 

DateTime StartDate = DateTime.Parse(strStartDate); 

文が検証する場合と同じ(私は名前や、そのようなのために他のテキストボックスを持っており、彼らはこのような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); 

次に、あなたはそれが有効な日付だったかどうかを確認するために、成功を確認することができます。これにより、空の文字列または空文字列だけでなく、無効な日付文字列から保護されます。