我在我的flex移动的应用程序中使用了验证器。我想在验证器触发错误时删除红色边框。
<mx:EmailValidator id="emailV" source="{login_txt}" property="text" triggerEvent="click" trigger="{connexion_btn}" />
<mx:StringValidator id="passwordV" source="{password_txt}" property="text" trigger="{connexion_btn}" triggerEvent="click" />
我试探着:
target.errorString = null; // not good
有线索吗?
3条答案
按热度按时间gcmastyq1#
通常我会将errorString设置为空字符串;并且我在带有红色字符串的组件示例上执行此操作。我相信在这种情况下,它将是您的触发器组件:
根据提供的有限代码,我不清楚您设置errorString的目标是否与指定为验证器源代码的实际组件相同。有可能,我们只是没有提供足够的信息来确定。
jmo0nnb32#
红色光晕是在spark.skins.spark.ErrorSkin中定义的,它是UIComponent的errorSkin属性的默认值。您不能将此属性设置为null,但可以扩展ErrorSkin类并覆盖生成光晕的方法(即updateDisplayList和processBitmap)。
我创建了一个NullFocusSkin,用来删除红色的错误光晕和蓝色的焦点光晕。我将组件的errorSkin和focusSkin属性设置为该值,然后很快-不再有讨厌的光晕,也不需要手动清除errorString!
b4wnujal3#
除了将错误字符串设置为空之外,我还必须调用showFocus(),否则红色边框不会消失。