我正在使用正则表达式过滤器来验证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
不满足正则表达式,但在输入值01.01.2012 10:00
时,modelstate有效。我已使用此http://regexpal.com/检查了我的正则表达式,并且值很好。
有人有任何建议,为什么它不起作用?
答案 0 :(得分: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")]
也许对某人有帮助。