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

dux*_*x-- 5 c# asp.net-mvc datetime data-annotations

我有一个具有datetime属性的模型,我想确保在视图中,除非该编辑器具有值,否则无法提交表单.

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;}
}
Run Code Online (Sandbox Code Playgroud)

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

还是有另一种解决方案?

更新 -

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

mm/dd/yyyy
Run Code Online (Sandbox Code Playgroud)

当我提交这个,这算是空的还是什么?使DateTime属性可以为空可以解决我的问题,当我提交一个日期为mm/dd/yyyy的表单时,没有进行验证

Ant*_*t P 20

你的问题是DateTime 总是有价值.

你需要让它成为可空的 DateTime:

[Required]
public DateTime? DateOfBirth { get; set; }
Run Code Online (Sandbox Code Playgroud)

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