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

时间:2015-08-07 13:58:12

标签: asp.net asp.net-mvc validation data-annotations

我的ViewModel中有以下字段:

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

产生以下标记:

<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="">

如果用户未选择值(即,将此字段留空 - value=""),则返回的数据到ViewModel的时间为{1/1/0001 12:00:00 AM}& #39; ModelState.IsValidfalse

我不想要这个字段!

我试图用我的替换标记:

<input class="form-control text-box single-line" id="EventDate" name="EventDate" type="date" value="1/1/1980">

但是,返回的值仍然是{1/1/0001 12:00:00 AM}&#39; ModelState.IsValidfalse

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

1 个答案:

答案 0 :(得分:5)

感谢Murilo,我将发布答案:

我改变了我的ViewModel字段:

public DateTime EventDate { get; set; }

public Nullable<DateTime> EventDate { get; set; }