Как сделать так, чтобы сообщение проверки Flex отображалось над полем? - PullRequest
0 голосов
/ 06 июня 2009

Обычно сообщение проверки появляется справа от поля ввода: http://aralbalkan.com/wp-content/uploads/2008/01/better-flex-validation-errors.gif

Но если места справа недостаточно, появляется сообщение выше.

Как сделать так, чтобы всегда отображалось выше? (независимо от свободного места и т. д.)

UPDATE

Было бы замечательно, если бы я мог использовать встроенную инфраструктуру проверки Flex (различные классы Validator).

Пример исходного кода:

<mx:StringValidator
        id="nameValidator"
        source="{nameInput}"
        property="text"
        minLength="2"/>

<mx:Form>
    <mx:FormItem label="Name:">
        <mx:TextInput id="nameInput"/>
    </mx:FormItem>
</mx:Form>

Ответы [ 2 ]

1 голос
/ 06 июня 2009

Ваш вопрос (ваш снимок экрана, безусловно, делает), кажется, ссылается на код, размещенный здесь: http://aralbalkan.com/1125, не встроенные функции flex. Поэтому я бы порекомендовал просто настроить размещенный там код позиционирования:

var errorTip:ToolTip = ToolTipManager.createToolTip(errorMessages[target.name] + " cannot be empty", pt.x + target.width + 5, pt.y) as ToolTip;

сказать:

 var errorTip:ToolTip = ToolTipManager.createToolTip(errorMessages[target.name] + " cannot be empty", pt.x + 5, pt.y - 30) as ToolTip;
0 голосов
/ 06 июня 2009

Кажется, что это невозможно сделать элегантно с Flex 3, потому что:

Валидаторы устанавливают свойство UIComponent.errorString (...), которое в свою очередь вызывает ToolTipManager.registerErrorString (...) и этот парень вызывает TooltipManagerImpl.positionTip (...) где локация всплывающей подсказки рассчитывается относительно компонента XY и размеров экрана. И этот метод не учитывает стили или подсказки, он просто помещает всплывающую подсказку на экран.

Так что молоток, файл и самодельные валидаторы - лучшие друзья здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...