要想让flex4的表单验证只显示tip方式的错误提示,可以重写FormItem组件,并重写其皮肤。
红色是要修改的地方,皮肤重写如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- TODO
Move the indicator tooltip string to a resource bundle
-->
<!--- The default skin class for the Spark FormItem component.
@see spark.components.FormItem
@langversion 3.0
@playerversion Flash 10
@playerversion AIR 1.5
@productversion Flex 4.5
-->
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
alpha.disabledStates=".5">
<!-- host component -->
<fx:Metadata>
<![CDATA[
/**
* @copy spark.skins.spark.ApplicationSkin#hostComponent
*/
[HostComponent("spark.components.FormItem")]
]]>
</fx:Metadata>
<s:states>
<s:State name="normal" />
<s:State name="disabled" stateGroups="disabledStates"/>
<s:State name="error" stateGroups="errorStates"/>
<s:State name="required" stateGroups="requiredStates"/>
<s:State name="requiredAndDisabled" stateGroups="requiredStates, disabledStates"/>
<s:State name="requiredAndError" stateGroups="requiredStates, errorStates"/>
</s:states>
<s:layout>
<s:FormItemLayout>
<s:constraintColumns>
<!--- The column containing the sequence label. -->
<s:ConstraintColumn id="sequenceCol" />
<!--- The column containing the FormItem's label. -->
<s:ConstraintColumn id="labelCol" />
<!--- The column containing the FormItem's content. -->
<s:ConstraintColumn id="contentCol" width="100%"/>
<!--- The column containing the FormItem's help content. -->
<s:ConstraintColumn id="helpCol" maxWidth="200"/>
</s:constraintColumns>
<s:constraintRows>
<!--- @private -->
<s:ConstraintRow id="row1" baseline="maxAscent:10" height="100%"/>
</s:constraintRows>
</s:FormItemLayout>
</s:layout>
<!--- Defines the appearance of the FormItem's background. -->
<s:Rect id="background" left="0" right="0" top="0" bottom="0">
<s:fill>
<!--- @private -->
<s:SolidColor id="bgFill" color="#FFFFFF"/>
</s:fill>
</s:Rect>
<!--- @copy spark.components.FormItem#sequenceLabelDisplay -->
<s:Label id="sequenceLabelDisplay"
fontWeight="bold"
left="sequenceCol:10" right="sequenceCol:5"
bottom="row1:10" baseline="row1:0"/>
<!--- @copy spark.components.FormItem#labelDisplay -->
<s:Label id="labelDisplay"
fontWeight="bold"
left="labelCol:0" right="labelCol:5"
bottom="row1:10" baseline="row1:0"/>
<!--- @copy spark.components.SkinnableContainer#contentGroup -->
<!--
Don't show the error tip on the content elements
showErrorTip=false 改为 true
-->
<s:Group id="contentGroup" showErrorSkin="true"
left="contentCol:0" right="contentCol:1"
baseline="row1:0" bottom="row1:10" showErrorTip="true">
<s:layout>
<s:VerticalLayout/>
</s:layout>
</s:Group>
<!--
删除提示图标
Don't include the indicator in layout since we position it ourselves
-->
<!--<s:Group x="{contentGroup.x + contentGroup.contentWidth + 4}" y="{contentGroup.y}"
height="{Math.max(indicatorDisplay.height, contentGroup.contentHeight)}" includeInLayout="false">
<!--- @private -->
<!--<s:Image id="indicatorDisplay" verticalCenter="0"
toolTip="Required" toolTip.errorStates=""
includeIn="requiredStates,errorStates"/>-->
<!-- </s:Group>-->
<!--- @copy spark.components.FormItem#helpContentGroup -->
<s:Group id="helpContentGroup" excludeFrom="errorStates"
fontStyle="italic" fontWeight="normal" color="0x666666"
left="helpCol:27" right="helpCol:10"
bottom="row1:10" baseline="row1:0"/>
<!--- @copy spark.components.FormItem#errorTextDisplay -->
<!--
删除追加提示文字
<s:RichText id="errorTextDisplay" includeIn="errorStates"
fontStyle="italic" fontWeight="normal" color="0xFE0000"
left="helpCol:27" right="helpCol:10"
bottom="row1:10" baseline="row1:0"
maxDisplayedLines="-1"/>
-->
</s:Skin>