当我为数字步进器设置最大值和最小值时,仍然可以输入超出该范围的数字。但如果输入的数字大于此值,它会自动获得最大值。我怎样才能显示这种情况下的错误,但仍然保持最大值和最小值?当数字步进器的值超出范围时显示错误
1
A
回答
2
当用户打ENTER从的text input
键或focus out
的NumericStepper
你可以把你的逻辑来检查,如果输入的号码是在以下范围内:
<?xml version="1.0"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script><![CDATA[
import mx.controls.Alert;
private var isProcessRequiredOnFocusOut:Boolean = true;
private function addEventListeners():void {
numericStepper.addEventListener(KeyboardEvent.KEY_DOWN, checkRange, true);
numericStepper.addEventListener(FocusEvent.FOCUS_OUT, checkRange, true);
}
private function checkRange(event:Event):void {
if (event is KeyboardEvent && (event as KeyboardEvent).keyCode == Keyboard.ENTER) {
isProcessRequiredOnFocusOut = false;
processRangeCheck();
}
else if (event is FocusEvent && (event as FocusEvent).type == FocusEvent.FOCUS_OUT
&& isProcessRequiredOnFocusOut) {
processRangeCheck();
}
}
private function processRangeCheck():void {
var typedNumber:Number = Number(numericStepper.textDisplay.text);
if (typedNumber > numericStepper.maximum || typedNumber < numericStepper.minimum) {
Alert.show("The typed number " + typedNumber + " is out of range.", "Out of Range Warning");
}
isProcessRequiredOnFocusOut = true;
}
]]></fx:Script>
<s:Panel title="Show Error message when Typed Number is out of range in Numeric Stepper."
verticalCenter="0" horizontalCenter="0">
<s:VGroup paddingTop="10" paddingLeft="10"
paddingRight="10" paddingBottom="10"
horizontalAlign="center"
width="100%">
<s:Label text="The valid range of Numeric Stepper is 10-20."/>
<s:NumericStepper id="numericStepper"
minimum="10"
maximum="20"
creationComplete="addEventListeners()"/>
<s:Button label="Click here to focus out from the Text Input of Numeric Stepper."/>
</s:VGroup>
</s:Panel>
</s:Application>
2
好,以直观的方式检查对最大和NumericStepper
组件-while仍然得到进入它的最低值输入的数值,将听取KEY_UP
键盘事件的textField
财产在NumericStepper
实例:
import fl.controls.NumericStepper;
import flash.events.KeyboardEvent;
var numericStepper:NumericStepper = new NumericStepper();
numericStepper.maximum = 250;
numericStepper.minimum = 3;
numericStepper.textField.addEventListener(KeyboardEvent.KEY_UP, function(e:Event):void {
var n:Number = Number(numericStepper.textField.text);
if (n > numericStepper.maximum || n < numericStepper.minimum) {
trace("Error: Out of Range!");
}
});
addChild(numericStepper);
+0
我找不到textField属性数字步进器 – Waveter
0
使用mx_internal属性是指当NumericStepper
的inputField 10相关问题
- 1. 超出范围的错误
- 2. 错误:Postgresql中的日期/时间字段值超出范围
- 3. IOS在显示图片时Swift超出范围错误
- 4. Highcharts - 显示超出范围的数据
- 5. 错误:值超出范围:下溢
- 6. 当使用SQLFetch()和SQL_C_FLOAT时出现“数值超出范围”错误
- 7. NumPy的指数超出范围错误
- 8. xmlEscapeEntities:字符超出范围 - 错误
- 9. ASP.NET GridView的DataKeys错误 - 参数超出范围的指数超出范围
- 10. Golang时错误:每月超出范围
- 11. 列表索引范围的错误时,没有超出范围
- 12. 使用选取器视图时指数超出范围错误
- 13. 数组索引超出范围错误
- 14. 指数超出范围异常错误
- 15. 关于指数超出范围错误
- 16. 参数'0'超出范围错误
- 17. Java数组错误(不超出范围)
- 18. 数值超出范围
- 19. Python中的缩进错误和索引超出范围错误
- 20. 索引错误:字符串超出范围,但它不应超出范围?
- 21. 指数超出范围错误,当它不是的
- 22. 如何防止超出范围的日期时间值错误?
- 23. 当QList索引超出范围时发生捕获错误
- 24. 当引用单元格时下标超出范围错误
- 25. Modelsim的超出范围的错误
- 26. PyTorch中出现OverflowError错误(34,'数字结果超出范围')
- 27. 范围过滤器给出的值超出范围
- 28. 输入的数字超出数组设置的范围,索引超出范围错误
- 29. 指数超出范围的错误比较值
- 30. PostgreSql将小数字插入整数字段时整数超出范围错误
它适用于我。非常感谢你 – Waveter