使用ViewModel中的DataAnnotations在ASP.NET MVC中进行日期验证

时间:2016-02-03 16:51:46

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

我的页面的ViewModel中有一个DateTime属性。我想知道是否有内置的检查用户输入有效日期的方法。

以下是我当前代码的样子,截至目前,它并不会自动确保用户输入有效日期(只需要验证):

ViewModel属性:

[Required]
[DataType(DataType.Date)]
public DateTime MyDate{ get; set; }

Razor MVC6观点:

<label asp-for="MyDate" class="control-label"></label>
<input asp-for="MyDate" class="form-control" />
<span asp-validation-for="MyDate" class="text-danger" />

2 个答案:

答案 0 :(得分:5)

如果您在视图模型中使DateTime为空,这将按预期运行:

[Required]
[DataType(DataType.Date)]
public DateTime? MyDate { get; set; }

答案 1 :(得分:2)

[Required]
[DataType(DataType.Date)]
public Nullable<System.DateTime> MyDate { get; set; }

应该有效