#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, и перегрузить части, которые вы хотите изменить