sangle
14.12.2007, 21:27
Возникла проблема с NumberValidator'ом.
Есть код
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
]]>
</mx:Script>
<mx:NumberValidator id="nvSomething" source="{tiSomething}" property="text"
trigger="{tiSomething}" triggerEvent="keyUp"
valid="Alert.show('Проверка успешная');" invalid="Alert.show('Проверка неудачная');"
domain="real"
precision="2"
required="false"/>
<mx:TextInput id="tiSomething" restrict="0-9."/>
</mx:Application>
У этого компонента есть свойство required. Если оно установлено в true, то обработчик на invalid работает всегда, а если в false, то после второй запятой в введённом тексте перестает генерировать событие invalid :(
Например, после ввода '1.111.' дальше уже не генерирует событие invalid :(
Хотя в документации указано, что свойство required определяет, будет ли генерироваться ошибка для пустого поля:
required property
public var required:Boolean
If true, specifies that a missing or empty value causes a validation error.
The default value is true.
Кто-то может что-то подсказать по этому поводу? Заранее благодарен.
Дополнение. Убрал ограничения на ввод в строке tiSomething, оказалось, что событие invalid вообще не генерируется при установленном свойстве required в false.
Тему изменить не могу, поэтому перефразирую так: "NumberValidator не генерирует событие invalid при свойстве required равном false".
Есть код
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
]]>
</mx:Script>
<mx:NumberValidator id="nvSomething" source="{tiSomething}" property="text"
trigger="{tiSomething}" triggerEvent="keyUp"
valid="Alert.show('Проверка успешная');" invalid="Alert.show('Проверка неудачная');"
domain="real"
precision="2"
required="false"/>
<mx:TextInput id="tiSomething" restrict="0-9."/>
</mx:Application>
У этого компонента есть свойство required. Если оно установлено в true, то обработчик на invalid работает всегда, а если в false, то после второй запятой в введённом тексте перестает генерировать событие invalid :(
Например, после ввода '1.111.' дальше уже не генерирует событие invalid :(
Хотя в документации указано, что свойство required определяет, будет ли генерироваться ошибка для пустого поля:
required property
public var required:Boolean
If true, specifies that a missing or empty value causes a validation error.
The default value is true.
Кто-то может что-то подсказать по этому поводу? Заранее благодарен.
Дополнение. Убрал ограничения на ввод в строке tiSomething, оказалось, что событие invalid вообще не генерируется при установленном свойстве required в false.
Тему изменить не могу, поэтому перефразирую так: "NumberValidator не генерирует событие invalid при свойстве required равном false".