2012-01-26 49 views
0

這裏有一個最小的Flex應用程序,有一個RichEditableText的長度的驗證:Flex驗證器彈出令人驚訝的位置。我可以調整它嗎?

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:mx="library://ns.adobe.com/flex/mx" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       minWidth="955" minHeight="600" 
       > 
    <fx:Declarations> 
     <mx:NumberValidator id="titleLenValidator" 
          exceedsMaxError="Your text is too long. As a result some of it is not shown." 
          maxValue="60" 
          property="contentHeight" 
          source="{titleLabel}" 
          > 
     </mx:NumberValidator> 
    </fx:Declarations> 
    <s:RichEditableText id="titleLabel" 
         text="very long very long very long very long very long very long very long very long very long very long very long very long very long very long very long very long very long very long very long very long very long very long very long " 
         maxHeight="40" width="400" 
         y="400" 
         fontSize="20" 
         > 
    </s:RichEditableText> 
    <s:Button> 
    </s:Button> 
</s:Application> 

的問題是,當文本框的內容是向下滾動驗證移動了它,並結束結果是這樣的:

enter image description here

如何可以調整驗證的彈出窗口的位置,以便它不是對內容的位置之上,而是對上頂部的控制本身?

回答

1

對於Spark Forms驗證,您應該將RichEditableText封裝到FormItem中,以防萬一您需要一些自定義佈局(例如非默認位置的錯誤字符串) - 您應該爲FormItem創建皮膚並更改佈局(例如,更改錯誤字符串標籤位置)