2010-07-20 93 views
1

我想在VB.NET中進行一些驗證測試。將空字符串轉換爲日期,然後返回

If Entity.WeekEndDate.ToString = String.Empty Then 
      ErrorList.Add(New cValidationError("id", "Incorrect Week End Date")) 

其中WeekEndDate的類型是Date。當我最初構建該對象時,如何在WeekEndDate中插入一個值,以便在從Date轉換爲String時生成一個空字符串(即。「」)?

回答

4

這可能是更好地使用MinValue來表示無效日期:

If Entity.WeekEndDate = DateTime.MinValue Then 
    ErrorList.Add(New cValidationError("id", "Incorrect Week End Date")) 

作爲一項規則,你不應該轉換日期爲字符串,然後比較它們。作爲原始數據類型進行比較(本例中爲DateTime)。

+0

可空日期甚至更好? – 2010-07-20 14:35:50

+0

我相信開箱即用的winforms日期控件在空日期時有問題... – 2010-07-20 14:36:47

+0

我最初並沒有寫這個驗證對象,所以我不確定他們試圖檢查什麼。感謝您的輸入! – 2010-07-20 15:12:33

0
WeekEndDate = Nothing 
0

沒有調用ToString時會產生一個空字符串日期值。如果您需要此功能,則該列必須在您的數據庫中可以爲空,並且您的實體必須使用Nullable(Of DateTIme)類型作爲值。

然後,您可以說:

If Entity.WeekEndDate Is Nothing Then 
    ErrorList>Add(new cValidationError("id", "Incorrect Week End Date")) 

,並製作了錯誤,只是說:

Entity.WeekEndDate = Nothing