Tat*_*die 7 asp.net-mvc date data-annotations
我的目标是:
d MMM yyyyclass="behaviour-date-picker"到输入字段,以便我可以显示jQuery日期选择器System.ComponentModel.DataAnnotations基础设施之上12 Joone 2010在服务器往返之后,带有相应的验证错误消息这是一个示例模型:
public class DebugDatesStub
{
[DataType(DataType.Date)]
public DateTimeOffset Date { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
该DisplayFormat属性不能解决我的场景,因为它不适用于往返值.(用户填写表单,提交表单,由于某些服务器端验证问题而返回相同的表单 - 日期仍以他们输入的原始格式显示,而不是重新格式化.)
使用以下命令在页面上呈现字段:
@Html.EditorFor(m => m.Date)
Run Code Online (Sandbox Code Playgroud)
在以下位置创建此代码~\Views\Shared\EditorTemplates\Date.cshtml:
@using System.Globalization
@model DateTimeOffset?
@{
var propertyState = ViewData.ModelState[ViewData.ModelMetadata.PropertyName];
var displayValue =
propertyState != null && propertyState.Errors.Any() ? propertyState.Value.AttemptedValue :
ViewData.Model.HasValue ? string.Format("{0:d MMM yyyy}", ViewData.Model.Value) :
string.Empty;
ViewData.ModelState.SetModelValue(
ViewData.ModelMetadata.PropertyName,
new ValueProviderResult(displayValue, displayValue, CultureInfo.CurrentCulture));
}
@Html.TextBoxFor(m => m, new { @class = "behaviour-date-picker" })
Run Code Online (Sandbox Code Playgroud)