我有一个实体的字符串属性。我正在通过表单将Date值放入其中,即“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
这应该工作......还是......
感谢。
答案 0 :(得分: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; }
答案 1 :(得分:0)
使用其中一种DateTime Parse方法?
DateTime dob;
try
{
DateTime dob = DateTime.Parse(myString, ...)
}
catch
{
// handle error...
}
// string entered is valid