C# 是否可以使用数据批注验证字符串属性以查看其是否为有效日期?

C# 是否可以使用数据批注验证字符串属性以查看其是否为有效日期?,c#,asp.net-mvc,asp.net-mvc-3,entity-framework-4,entity-framework-5,C#,Asp.net Mvc,Asp.net Mvc 3,Entity Framework 4,Entity Framework 5,我有一个实体的字符串属性。我正在通过表单将日期值输入其中,即“01/01/2000”。是否可以验证输入的数据以查看其是否有效,即: 假设英国日期格式如下: “32/01/2000”无效, “31/01/2000”有效期:, “测试”无效 我的POCO EF属性代码如下所示: [System.ComponentModel.DataAnnotations.DataType(System.ComponentModel.DataAnnotations.DataType.Date, ErrorMessag

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

假设英国日期格式如下:

“32/01/2000”无效, “31/01/2000”有效期:, “测试”无效

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

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


public virtual string DateOfBirth
这是否有效。。。。或者


谢谢。

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

下面是如何使用
正则表达式
遮住你的眼睛):


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

下面是如何使用
正则表达式
遮住你的眼睛):


是否使用DateTime解析方法之一

DateTime dob;
try
{
  DateTime dob = DateTime.Parse(myString, ...)
}
catch
{
  // handle error...
}
// string entered is valid

是否使用DateTime解析方法之一

DateTime dob;
try
{
  DateTime dob = DateTime.Parse(myString, ...)
}
catch
{
  // handle error...
}
// string entered is valid