1

我有一个实体的字符串属性。我通过表格将日期值放入其中,即“01/01/2000”。是否可以验证输入的数据是否有效,即:

假设英国日期格式如下:

“32/01/2000”无效,“31/01/2000”有效,“test”无效

我的 POCO EF 属性代码如下所示:

[System.ComponentModel.DataAnnotations.DataType(System.ComponentModel.DataAnnotations.DataType.Date, ErrorMessage = @"Not a valid date")]


public virtual string DateOfBirth

这个工作应该......还是......

谢谢。

4

2 回答 2

1

您可以使用注释,但至少可以说这RegularExpression会让事情变得混乱。您最好将该属性转换为DateTime.

以下是使用RegularExpression保护你的眼睛)的方法:

[RegularExpression("@(^((((0[1-9])|([1-2][0-9])|(3[0-1]))|([1-9]))\x2F(((0[1-9])|(1[0-2]))|([1-9]))\x2F(([0-9]{2})|(((19)|([2]([0]{1})))([0-9]{2}))))$)", ErrorMessage = @"Not a valid date")]
public virtual string DateOfBirth { get; set; }
于 2013-04-25T14:17:35.947 回答
0

使用 DateTime Parse 方法之一?

DateTime dob;
try
{
  DateTime dob = DateTime.Parse(myString, ...)
}
catch
{
  // handle error...
}
// string entered is valid
于 2013-04-25T14:45:11.730 回答