如何创建所需的DateTime模型属性?

时间:2014-11-19 19:11:11

标签: c# asp.net-mvc datetime data-annotations

我有一个具有日期时间属性的模型,我想确保在视图中,除非该编辑器具有值,否则不能提交表单。

employee {
 [DataType(DataType.Date)]
 [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
 [Required] // <- this isn't doing anything for me???
 public DateTime DateOfBirth {get;set;}
}

是否有我可以使用的注释,或者我是否必须在页面中使用javascript?

还是有另一种解决方案吗?

更新 -

当我清除日期编辑器时,我在编辑框中得到以下内容:

mm/dd/yyyy

当我提交此内容时,这是否为空或什么?使DateTime属性可以为空并没有解决我的问题,当我提交日期为mm / dd / yyyy的表单时,没有进行验证

1 个答案:

答案 0 :(得分:16)

您的问题是DateTime 总是有值

您需要将其设为 nullable DateTime

[Required]
public DateTime? DateOfBirth { get; set; }

现在,如果没有值,您的属性将为null,并且您的Required属性将按预期运行。