0

我正在使用正则表达式过滤器来验证 MVC3 中表单上的日期输入

    [RegularExpression(@"[0-3][0-9]\.[01][0-9]\.[0-2][0-9]{3}( [0-2][0-9]:[0-5][0-9](:[0-5][0-9])?)?",ErrorMessage="Incorrect Format")] 
    public DateTime CreationDate { get; set; }

非常非常奇怪01.01.2012 00:00的情况: value 不满足 regex ,但是当输入 value 时01.01.2012 10:00modelstate 是有效的。我已经使用这个http://regexpal.com/检查了我的正则表达式,并且值很好。

有没有人有任何建议为什么它不起作用?

4

1 回答 1

0

哦....我自己发现了问题。我不知道如何,但是在提交表单后,值01.01.2012 00:00被转换为01.01.2012 0:00,所以它不满足正则表达式。好吧,正则表达式似乎是这样的:

[RegularExpression(@"[0-3][0-9]\.[01][0-9]\.[0-2][0-9]{3}( ([0-2])?[0-9]:[0-5][0-9](:[0-5][0-9])?)?",ErrorMessage="Incorrect Format")] 

也许它会对某人有所帮助。

于 2012-06-08T15:42:09.450 回答