我的 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}' 且 ModelState.IsValid
为 false
。
我不希望此字段为必填字段!
我尝试用我的标记替换标记:
<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}”,并且 ModelState.IsValid
为 false
。
如何(仅)禁用此字段上的必需验证?提前致谢。
最佳答案
感谢 Murilo,我将发布答案:
我将 ViewModel 字段更改为:
public DateTime EventDate { get; set; }
到
public Nullable<DateTime> EventDate { get; set; }
关于asp.net - DataAnnotation [DataType(DataType.Date)] 使我的字段不必要地成为必填项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31879538/