我找到了一个简单的解决方法。
您可以保持模型不变。
[DataType(DataType.Date)]
public DateTime Date { get; set; }
然后覆盖视图中的 'data-val-date' 属性。
@Html.TextBoxFor(model => model.Date, new
{
@class = "form-control",
data_val_date = "Custom error message."
})
或者,如果您想参数化您的消息,您可以使用静态函数String.Format
:
@Html.TextBoxFor(model => model.Date, new
{
@class = "form-control",
data_val_date = String.Format("The field '{0}' must be a valid date.",
Html.DisplayNameFor(model => model.Date))
})
与资源类似:
@Html.TextBoxFor(model => model.Date, new
{
@class = "form-control",
data_val_date = String.Format(Resources.ErrorMessages.Date,
Html.DisplayNameFor(model => model.Date))
})