Здравствуйте помогите пожалуйста разобраться.
У меня есть компонент Автокомплита - представляет собой смесь DropDownList и TetxInputa.
Текст автокомплитов (список вариантов) берется из ArrayCollection.
Также в нем есть кнопка с крестиком - удаляет весь текст в ней вся проблема.
Хочу повесить на автокомплит валидацию - если пользователь ничего не ввел или ввел какую нибудь хрень не из массива то рядом горит крест, если ввел или выбрал строку из массива то убираю крестик и делаю visible галочку.
Компонент:

Код:
<ns:AutoComplete id="autoComplete_1"
dataProvider="{areas}"
searchMode="sync"
keyDown="autoComplete_1_keyDownHandler(event)"
valueCommit="autoComplete_valueCommitHandler(event)"
Обработчик:

Код AS3:
protected function autoComplete_valueCommitHandler(event:FlexEvent):void
{
// Для простоты проверяю только на одно значение.
if (autoComplete_1.text != "Ярославская")
redArea();
}
Проблема заключается в том как какое правильно выбрать событие для DropDownList - а именно кнопки удаления текста. Для TextInput выбрал keyDown и каждый раз сверяю попал ли юзер в данные из массива или нет все работает хорошо.
Для DropDownList пытался повесить на valueCommit, получается что в обработчик попадаю тогда когда нужно, но почему то не проходит проверка внутри. Действие выполняется только после того как например убрать фокус в следующий текст ипут.
Думал что может быть это из за того что событие вызывается до того как текст будет удален - повесил в обработчик алерт он показал пустую строку.
Посоветуйте пожалуйста как быть в этой ситуации и как лучше организовать валидацию.