更改flex验证错误的默认颜色

时间:2010-06-04 23:24:47

标签: css flex actionscript-3 validation

我见过的示例似乎显示了如何更改用户实际悬停在textinput字段上时显示的颜色。

但是,当验证失败时,通用textInput border 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 个答案:

答案 0 :(得分:2)

任何扩展UIComponent(TextInput和TextArea都有)的东西都有一个名为errorColor的样式。它默认为红色。您可以将其更改为您想要的任何内容。

此外,如果您有一个用作边框的图像,则应该从中间删除像素,使其成为实际边框而不是叠加。

答案 1 :(得分:0)

我设法找到的唯一方法是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
        }
    }
}
相关问题