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,并且您的属性将按预期运行.