недопустимая дата bootstrap-datepicker

Я использую http://bootstrap-datepicker.readthedocs.org/en/release/ для средства выбора даты с бутстрапом.

    [DisplayName("Date Start")]
    [DataType(DataType.Date)]
    public DateTime? DateFrom { get; set; }


$('.datepicker').datepicker({
    format: "mm/dd/yyyy",
    autoclose: true,
    clearBtn: true
});

@Html.TextBoxFor(m => m.DateFrom, new { @class = "form-control datepicker", @placeholder = "Start Date" })
@Html.ValidationMessageFor(m => m.DateFrom)

Сегодня дата 06.10.2014. Когда я выбираю дату 13.10.2014, я вижу сообщение «Значение« 13.10.2014 »недопустимо для даты начала». пока дата 12.10.2014 в порядке.

Где ошибка?


person demo    schedule 06.10.2014    source источник
comment
.NET, вероятно, интерпретирует 10/13/2014 как 10-й день 13-го месяца 2014 года, что неверно. Кажется, что он ожидает даты в формате dd/mm/yyyy вместо mm/dd/yyyy.   -  person Cᴏʀʏ    schedule 06.10.2014
comment
@Кори, о, спасибо. Да, это помогает!   -  person demo    schedule 06.10.2014
comment
Возможно, быстро прочитайте: weblogs.asp.net/melvynharbour/mvc-modelbinder -и-локализация. Если исправление настроек глобализации в вашем приложении не работает, вам может потребоваться написать настраиваемый модуль связывания модели.   -  person Cᴏʀʏ    schedule 06.10.2014


Ответы (1)


это связано с культурами.

У меня была такая же проблема, и я решил ее с помощью библиотеки Globalize.

  • используйте nuget, чтобы добавить библиотеку Globalize 0.1.3 в свой проект.

  • затем включите файлы globalize.js и globalize.cultures.js

  • затем добавьте этот код в свой собственный файл Js:

    $.validator.methods.date = function (value, element) {
    return this.optional(element) || Globalize.parseDate(value, "MM/dd/yyyy") !== null;
    }
    
person sami    schedule 06.10.2014