我有一个具有日期时间属性的模型,我想确保在视图中,除非该编辑器具有值,否则不能提交表单。
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的表单时,没有进行验证
答案 0 :(得分:16)
您的问题是DateTime
总是有值。
您需要将其设为 nullable DateTime
:
[Required]
public DateTime? DateOfBirth { get; set; }
现在,如果没有值,您的属性将为null,并且您的Required
属性将按预期运行。