У меня есть форма, содержащая поле даты и даты и времени:
@Html.TextBoxFor(model => model.A, new { @type = "datetime" })
@Html.TextBoxFor(model => model.B, new { @type = "date" })
Модель:
public class TestModel
{
[DataType(DataType.Date)]
public DateTime A {get;set;}
[DataType(DataType.Date)]
public DateTime B {get;set;}
}
При использовании этих типов ввода iPad отображает удобные средства выбора даты (времени).Поля проверяются с использованием проверки на стороне клиента.Для поля даты и времени (A
) это работает, но поле даты (B
) вызовет ошибку: «пожалуйста, введите правильную дату».Как мне решить эту проблему?
Примеры:
- Это значение iPad (Safari) для datetime действительно (согласно проверке на стороне клиента MVC): 15 дек.2011 9: 20
- Недопустимое значение iPad (Safari) для даты: 15 дек.2011
Трудно отлаживать код на iPad, поэтому я понятия не имею, как Safari меняет формат даты при настройке атрибута значения ввода.
Редактировать: я обнаружил формат даты и времениуниверсальный формат даты и времени (yyyy-MM-DDTHH:mmZ
), а формат даты - yyyy-MM-dd
.Вероятно, клиентский валидатор действительно понимает универсальную дату-время, а не yyyy-MM-dd
из-за локализации.