Изменение цвета по умолчанию при ошибках проверки гибкости - PullRequest
1 голос
/ 05 июня 2010

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

Однако, когда проверка не пройдена, общая граница textInput qill имеет красную линию над ней. Мой CSS-файл использует обложку для textInput, поэтому я не вижу эту строку.

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

Это CSS:

TextInput, TextArea
{
    border-skin: Embed(source='/../assets/images/input_bg.png', scaleGridLeft=8, scaleGridRight=20, scaleGridTop=8,scaleGridBottom=9);
    padding-top:2;
    padding-left:2;
    font-size:11;
}

Ответы [ 2 ]

2 голосов
/ 05 июня 2010

все, что расширяет UIComponent (как TextInput, так и TextArea), имеет стиль, называемый errorColor. По умолчанию это красный. Вы можете изменить это на то, что вы хотите.

Кроме того, если у вас есть изображение, которое вы используете в качестве границы, вам, вероятно, следует удалить пиксели из середины, чтобы это была фактическая граница вместо наложения.

0 голосов
/ 31 января 2011

Единственный способ, который мне удалось найти, - это то, что Validator изменит стиль компонента borderColor. Я не думаю, что это может быть достигнуто с помощью изображения - вам придется встроить изображение в базовый подкласс GraphicRectangularBorder или аналогичный. Затем вы можете добавить это в свой класс кожи:

override public function styleChanged(styleProp:String):void
{
    super.styleChanged(styleProp);

    if (styleProp == "borderColor")
    {
        if (getStyle("borderColor") == getStyle("errorColor"))
        {
            // show error outline
        }
        else
        {
            // hide error outline
        }
    }
}
...