【发布时间】:2014-11-19 19:11:10
【问题描述】:
我有一个具有 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;}
}
是否有我可以使用的注释或者我必须在页面中使用 javascript?
或者有其他解决方案吗?
更新-
当我清除日期编辑器时,我的编辑器框中会显示以下内容:
mm/dd/yyyy
当我提交这个时,这算作空还是什么?使 DateTime 属性为空并不能解决我的问题,当我提交日期为 mm/dd/yyyy 的表单时没有进行验证
【问题讨论】:
-
DateTime不会为空。如果将类型更改为DateTime?,会发生什么? -
@Jonesy 你是什么意思?已经是日期时间了
-
在一个类型之后添加一个问号使它可以为空,所以
DateTime?是一个可以为空的DateTime -
我明白了,我正在尝试,谢谢!
标签: c# asp.net-mvc datetime data-annotations