ДЗЕН : Разрешить несколько форматов даты в элементе управления dateText и преобразовать их в ГГГГ-ММ-ДД

#intersystems-iris

Вопрос:

Существует ограниченный список форматов дат, которые пользователи хотят использовать для ввода даты в форму. Эти форматы включают одинарные цифры для месяца и дня и двузначные цифры для года. Поле представлено элементом управления dateText.

Как можно разрешить элементу управления dateText принимать несколько форматов дат ? Я вижу только 3 перечисленных (https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?КЛЮЧ=GZCP_forms_dateText), включают ли они использование однозначных цифр для месяца и дня ?

Я попытался установить значение format = «#(myPageProperty.myValue)#», но в Студии произошла ошибка компиляции, так что это никуда не привело. Кто-нибудь когда-нибудь мог установить значение формата в зависимости от значения, введенного пользователем?

Я предполагаю, что управляющее входное значение должно быть преобразовано в ГГГГ-ММ-ДД перед проверкой. Я открыт для вызова функции javascript, чтобы сделать это, но где было бы лучшее место для ее размещения?

Ответ №1:

дополнительные сведения см. в разделе Класс %ZEN.Component.dateText

формат настройки:

 Property format As %ZEN.Datatype.string(MAXLEN = 3, **VALUELIST = ",MDY,DMY,YMD",** ZENEXPRESSION = 1)  
 

у вас есть ровно 3 формата или «»

Ваше предположение о значениях является правильным и задокументированным:
/// Значение этого элемента управления всегда имеет каноническую форму: ГГГГ-ММ-ДД

Поскольку это один из старейших компонентов ZEN, ваш единственный шанс реализовать
свой способ работы-создать собственную версию, унаследованную от
класса %ZEN.Component.dateText, и перегрузить части, которые вы хотите изменить