DataAnnotation [DataType(DataType.Date)]使我的字段不必要地需要

dsb*_*dsb 4 asp.net validation asp.net-mvc data-annotations

我的ViewModel中有以下字段:

    [DataType(DataType.Date)]
    [Display(Name = "Preferred date)")]
    public DateTime EventDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

产生以下标记:

<input class="input-validation-error form-control text-box single-line" data-val="true" data-val-date="The field Preferred date must be a date." data-val-required="The Preferred date field is required." id="EventDate" name="EventDate" type="date" value="">
Run Code Online (Sandbox Code Playgroud)

如果用户没有选择值(即,将此字段留空value=""),则返回到ViewModel的数据为"{1/1/0001 12:00:00 AM}"并且ModelState.IsValidfalse.

我不希望这个字段是必需的!

我试着用我的替换标记:

<input class="form-control text-box single-line" id="EventDate" name="EventDate" type="date" value="1/1/1980">
Run Code Online (Sandbox Code Playgroud)

但是,返回的值仍然是"{1/1/0001 12:00:00 AM}"并且ModelState.IsValidfalse.

如何在此字段上禁用必需的验证(仅限)?提前致谢.

dsb*_*dsb 5

感谢Murilo我会发布答案:

我改变了我的ViewModel字段:

public DateTime EventDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

public Nullable<DateTime> EventDate { get; set; }
Run Code Online (Sandbox Code Playgroud)