我正在尝试在VB.NET中进行一些验证测试。
If Entity.WeekEndDate.ToString = String.Empty Then
ErrorList.Add(New cValidationError("id", "Incorrect Week End Date"))
其中WeekEndDate的类型为Date。当我最初构建对象时,如何在WeekEndDate中插入一个值,当从Date转换为String时,它将生成一个空字符串(即“。”)?
答案 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