Flex - формат ввода данных, как они вводятся (поле даты / даты)? - PullRequest
1 голос
/ 12 мая 2011

Я использую mx: DateField во Flex, и он хорошо работает со средством выбора даты, но мне также нужно, чтобы он был редактируемым, поэтому я установил editable = "true".

Проблема в том, что теперь пользователь может вводить все, что хочет, даже если у меня установлен формат formatString = "YYYY-MM-DD".Средство выбора даты учитывает этот формат, но если пользователь вводит в формате ММ / ДД / ГГГГ, он может - или даже может вводить данные мусора.

Я понимаю, что могу настроить средство проверки данных, чтобы проверить, что оноявляется действительной датой и в соответствующем формате в соответствии с гибкими документами, но я надеялся получить что-то, что я видел на других языках, где текстовое поле будет отображать что-то вроде «0000-00-00», и пользователь нажимает наполе, и это позволяет им изменять только цифры (нули) и не может вводить какие-либо буквенные символы или добавлять / удалять любую длину.

Любые идеи?

Ответы [ 2 ]

0 голосов
/ 12 мая 2011

Попробуйте использовать для этого ввод маскированного текста .

0 голосов
/ 12 мая 2011

Лично я бы не использовал DateField.Я бы создал пользовательский компонент, который имеет 3 отдельных TextInputs, по одному на каждый год, месяц и день, и справа от DateChooser, если пользователь хочет выбрать дату вручную.

Вам придетсядобавьте логику, чтобы фокус отскочил от одного ввода текста до следующего.Вы даже можете заставить их выглядеть так, как будто они находятся в одном компоненте с черточками между ними.Пользователь считает, что это всего лишь один компонент, но на самом деле это составной компонент.

В любом случае, только мои 2 цента.Я делал это раньше с хорошими результатами.

...