Возможно ли указать формат отображения для dijit.form.DateTextBox

#date #dojo

#Дата #dojo

Вопрос:

Возможно ли указать формат отображения для dijit.form.DateTextBox?

Я знаю, что dijit.form.DateTextBox по умолчанию получает формат даты из пользовательского языка, и я знаю, что могу изменить язык на все, что захочу, но мне нужно просто указать формат даты и больше ничего не менять. Возможно ли это?

Спасибо.

Ответ №1:

Да, вы можете сделать что-то подобное:

 var occursOnField = new dijit.form.DateTextBox({
    constraints: { datePattern : 'yyyy-MM-dd' }
    , promptMessage: "yyyy-MM-dd"
    , invalidMessage: "Invalid date format. Use yyyy-MM-dd"
})
  

Обновление от 29 января 2012 г.:

Ошибка совместимости Chrome и Dojo 1.6.1.

Если день месяца дополняется слишком большим количеством нулей, используйте на одну меньше d в шаблоне даты, чтобы обойти ошибку. Например, в Google Chrome 16 и Dojo 1.6.1 : datePattern : 'yyyy-MM-dd' выдаст 2010-01-001 и datePattern : 'yyyy-MM-d' выдаст 2010-01-1.

Ответ №2:

попробуйте эту простую вещь:

     <input type="text"  name="Date"  id="myDate" promptMessage="Please Enter Date" value="" data-dojo-type="dijit/form/DateTextBox" constraints="{datePattern:'dd-MMM-yyyy', strict:true}"  />
  

Комментарии:

1. Пожалуйста, добавьте какое-нибудь описание для вашей «простой вещи», чтобы улучшить свой ответ.