将空字符串转换为日期,然后返回

时间:2010-07-20 14:32:31

标签: vb.net validation string

我正在尝试在VB.NET中进行一些验证测试。

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

其中WeekEndDate的类型为Date。当我最初构建对象时,如何在WeekEndDate中插入一个值,当从Date转换为String时,它将生成一个空字符串(即“。”)?

4 个答案:

答案 0 :(得分:4)

最好使用MinValue来表示无效日期:

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

通常,您不应将日期转换为字符串,然后进行比较。比较原始数据类型(在本例中为DateTime)。

答案 1 :(得分:0)

WeekEndDate = Nothing

答案 2 :(得分:0)

将其设为可为空,并与null进行比较。

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

答案 3 :(得分:0)

调用ToString时,没有日期值会产生空字符串。如果您需要此功能,则该列必须在您的数据库中可为空,并且您的实体必须使用Nullable(Of DateTIme)类型作为该值。

然后你可以说:

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

要产生错误,只需说:

Entity.WeekEndDate = Nothing