开发者

Converting an empty string to a date, and then back

I'm trying to do some validation testing in VB.NET.

 If Entity.WeekEndDate.ToString = String.Empty Then
            ErrorList.Add(New cV开发者_JAVA百科alidationError("id", "Incorrect Week End Date"))

Where WeekEndDate is of type Date. When I originally build the object, how can I insert a value into WeekEndDate that will generate an empty string(ie. "") when converted from a Date to a String?


It might be better to use MinValue to represent an invalid date:

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

As a rule, you shouldn't be converting dates to strings and then comparing them. Compare as the original datatype (in this case, DateTime).


WeekEndDate = Nothing


Make it nullable and compare to null instead.

MSDN reference: http://msdn.microsoft.com/en-us/library/bb981315(VS.80).aspx


There is no date value that will produce an empty string when calling ToString. If you need this functionality, the column must be nullable in your database and your entity must use the Nullable(Of DateTIme) type for the value.

You can then say:

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

And to produce the error, just say:

Entity.WeekEndDate = Nothing
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜