【问题标题】:flex mobile validation: how to remove red error border?flex 移动验证:如何删除红色错误边框?
【发布时间】:2012-10-20 11:03:30
【问题描述】:

我在我的 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

有什么线索吗?

【问题讨论】:

  • 也许你可以使用视觉样式来抑制
  • 好的:但是我应该使用什么样式?

标签: apache-flex flex4 flex4.5 flex-mobile flex4.6


【解决方案1】:

通常我会将errorString设置为空字符串;我在带有红色字符串的组件实例上执行此操作。我相信在这种情况下,它将是您的触发组件:

login_txt.errorString = '';
password_txt.errorString = '';

根据提供的有限代码,我不清楚您设置 errorString 的目标是否与指定为验证器源的实际组件相同。可能是,我们只是没有提供足够的信息来确定。

【讨论】:

  • 我试过了:我试过 .errorString="" 和 .errorString=null 并且红色边框仍然存在!
  • 请提供完整的可运行示例来演示您的问题。
  • if (emailV.validate() .type == ValidationResultEvent.INVALID) login_txt.errorString = "";
  • 代码在 cmets 中不能正常工作。我将重复我之前的查询。请提供完整的可运行示例来演示该问题。单个 EmailValidator 与可运行示例不同。请编辑您的问题以提供示例应用程序。
【解决方案2】:

红色光芒在 spark.skins.spark.ErrorSkin 中定义,它是 UIComponent 的 errorSkin 属性的默认值。不能将此属性设置为 null,但可以扩展 ErrorSkin 类并覆盖生成发光的方法(即 updateDisplayList 和 processBitmap)。

我创建了一个 NullFocusSkin,用于移除红色错误光晕和蓝色焦点光晕。我将组件的 errorSkin 和 focusSkin 属性设置为那个,嘿 presto - 不再有讨厌的发光,也无需手动清除 errorString!

import spark.skins.spark.HighlightBitmapCaptureSkin;

public class NullFocusSkin extends HighlightBitmapCaptureSkin
{
    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    {   
        // Do nothing.
    }

    override protected function processBitmap():void
    {
        // Do nothing.
    }
}

【讨论】:

    【解决方案3】:

    除了将错误字符串设置为空之外,我还必须调用 showFocus(),否则红色边框不会消失。

    login.errorString = '';
    login.focusManager.showFocus();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 1970-01-01
      相关资源
      最近更新 更多