Показать сообщение отдельно
Старый 14.12.2007, 21:27
sangle вне форума Посмотреть профиль Отправить личное сообщение для sangle Найти все сообщения от sangle
  № 1  
Ответить с цитированием
sangle

Регистрация: Sep 2007
Сообщений: 32
По умолчанию NumberValidator перестает вызываться после второй точки

Возникла проблема с 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".


Последний раз редактировалось sangle; 15.12.2007 в 11:33.