Какой подход Вы рекомендуете для проверки DateTime на стороне клиента в MVC?
Скажем, у меня есть модель с названным свойством DateOfBirth
это - a DateTime
, как так.
public class UserModel
{
[DataType(DataType.Date)]
public DateTime DateOfBirth {get;set;}
}
На Представлении у меня есть простое
<%: Html.LabelFor(model=>model.DateOfBirth) %>
<%: Html.EditorFor(model=>model.DateOfBirth) %>
<%: Html.ValidationMessageFor(model=>model.DateOfBirth) %>
<input type="submit" value="Submit" />
Я могу использовать или проверки Microsoft MVC или проверки jQuery. Как я заставляю DateTime проверять клиентский?
Я понимаю, что весь DataTypeAttribute делает, обеспечивают подсказки форматирования, и действительно не делает никакой проверки (он оставляет ту часть ModelBinder).
В основном я хочу копировать то, что делает ModelBinder, когда он пытается поместить отправленное значение в свойство DateOfBirth модели.
Каковы Ваши рекомендации?
Я столкнулся с той же проблемой и не могу найти решение. Не могу поверить, что все не сталкивались с этой проблемой. Я использовал модуль jquery.maskedinput.js и он отлично работал, но когда я начал добавлять украшение "[DataType(DataType.Date)]" с "EditorFor", оно присваивает вводу даты класс class="text-box single-line". Добавление этого класса ломает maskedinput js. Он также форматирует мои нижние даты как "2/3/1010", что затем разрушает мою jquery-маску "99/99/9999".