保存数据时MVC 4验证失败

问题描述:

我正在使用Data Annotation来验证我的表单。我已经使用下列内容: -保存数据时MVC 4验证失败

[Required(ErrorMessage = "The Start Date field is required.")] 
    [RegularExpression(@"^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(19|20)\d{2}$", ErrorMessage = "Start Date must be in mm/dd/yyyy format.")]  
    public Nullable<System.DateTime> StartDate { get; set; } 

我从jQuery的压延机选择日期(格式为:MM-DD-YYYY)

当我保存的形式,它抛出错误 “实体验证失败。”

但是,如果我删除正则表达式,它允许保存数据。

请提供解决方案

感谢

+0

你确定的正则表达式是正确的? – 2014-09-12 10:58:53

+1

你的正则表达式有一个'/'分隔符,你的日历有'-'分隔符? – 2014-09-12 11:02:22

+0

将正则表达式中的'/'分隔符替换为'-' – Stuntman 2014-09-12 11:06:01

非常helful页面来测试正则表达式这里http://regex101.com/

请更新您的代码是:

[RegularExpression(@"^(0[1-9]|1[0-2])-(0[1-9]|1\d|2\d|3[01])-(19|20)\d{2}$", 
ErrorMessage = "Start Date must be in mm-dd-yyyy format.")]