DataFormatString未应用于具有验证错误

时间:2015-11-24 21:07:53

标签: c# asp.net-mvc

我有一个具有以下属性的视图模型:

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "yyyy-MM-dd", ApplyFormatInEditMode = true)]
public DateTime? ExpirationDate { get; set; }

DataFormatString是这样的:当在type="date"输入中填充值时,浏览器会识别它并预先填充日期选择器。在控制器中,运行验证(使用FluentValidation)并添加到ModelState。如果ModelState无效,则使用模型重新呈现视图。如果ExpirationDate上有任何错误,则DataFormatString似乎不会应用,而html最终会像:

<input class="input-validation-error error-highlight" id="ExpirationDate" name="ExpirationDate" type="date" value="11/2/2015 12:00:00 AM">

其呈现就好像该字段没有值。请注意,如果其他属性存在错误,ExpirationDate仍会正确格式化。

如果日期无效,我如何确保日期格式正确,以便用户可以轻松修复错误?

0 个答案:

没有答案