2012-10-20 39 views
0

我在我的Flex移動應用程序中使用驗證器。 我想在驗證器觸發錯誤時刪除紅色邊框。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 

任何線索?

+0

也許你可以使用視覺樣式壓制 –

+0

好的,但是我應該使用什麼樣的樣式? – yarek

回答

1

通常我會將errorString設置爲空字符串;我在組件上使用紅色字符串的實例做到這一點。我相信,在這種情況下,這將是你的觸發成分:

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

我不清楚根據所提供的,如果你正在設置在Errorstring,則目標將是相同的指定爲實際分量有限碼驗證源。它可能是,我們只是沒有提供足夠的信息來確認。

+0

我試過:我試過.errorString =「」和.errorString = null,紅色邊框是stille禮物! – yarek

+0

請提供完整的可運行示例以演示您的問題。 – JeffryHouser

+0

如果(emailV.validate()。鍵入== ValidationResultEvent.INVALID)\t \t \t \t login_txt.errorString =「」; – yarek

0

紅色發光在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. 
    } 
}