Текстовое поле для форматирования даты mvc3 и проверки даты

Я решил начать работу с MVC 3, и я столкнулся с этой проблемой при попытке переделать одно из моих веб-приложений на MVC3.

У меня есть проекты, настроенные следующим образом:

public class Project
{
    public int      ProjectID       { get; set; }

    [Required(ErrorMessage="A name is required")]
    public string   Name            { get; set; }

    [DisplayName("Team")]
    [Required(ErrorMessage="A team is required")]
    public int      TeamId          { get; set; }

    [DisplayName("Start Date")]
    [Required(ErrorMessage="A Start Date is required")]
    [DisplayFormat(ApplyFormatInEditMode=true, DataFormatString="{0:d}")]
    public DateTime StartDate       { get; set; }

    [DisplayName("End Date")]
    [Required(ErrorMessage="An End Date is required")]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
    public DateTime EndDate         { get; set; }
}

И моя форма записи для дат написана следующим образом:

@Html.LabelFor(model => model.StartDate)
@Html.LabelFor(model => model.EndDate)
@Html.TextBoxFor(model => model.StartDate, new { @class = "datepicker", id="txtStartDate" }) @Html.ValidationMessageFor(model => model.StartDate)
@Html.TextBoxFor(model => model.EndDate, new { @class = "datepicker", id = "txtEndDate" }) @Html.ValidationMessageFor(model => model.EndDate)

Моя проблема в том, что в текстовом поле теперь отображается 01 / Jan / 0001 00:00:00. Итак, во-первых: как я могу преобразовать дату в shortdatestring? Я нашел решение MVC2 , которое советовало создать папку EditorTemplates в SharedFolder и использовать вместо нее EditorFor, но это, похоже, не работает с MVC3. Кроме того, казалось, что это легко предотвращает добавление классов, как в случае с TextBoxFor

. А во-вторых, как только это исправлено, у меня есть специальная система проверки, которую мне нужно внедрить. Мне нужно, чтобы дата окончания была ПОСЛЕ даты начала. Я подумываю выполнить проверку с помощью javascript, который нашел http://www.datejs.com , но есть ли способ выполнить проверку непосредственно в моем классе?

13
задан Community 23 May 2017 в 12:00
поделиться