2012-01-26 48 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创建皮肤并更改布局(例如,更改错误字符串标签位置)