Ограничьте числа 1-10 в текстовом поле ввода во Flex - PullRequest
1 голос
/ 16 ноября 2011

У меня есть поле TextInput.Я должен ограничить диапазон более 1,2,3,4,5,6,7,8,9,10 цифрами только в текстовом поле. Если я введу любое число выше, это должно быть разрешено.Если ввести 11 или более, это не должно позволять войти.в текстовом поле должно быть от 1 до 10 цифр.Если ввести 11 или 0, это не должно позволять, и больше 10 не должно позволяться.

Пожалуйста, помогите мне, как ограничить это в TextInput Box во Flex.Если кто-нибудь знает об этом регулярном выражении, пожалуйста, помогите мне.

Ответы [ 3 ]

5 голосов
/ 16 ноября 2011

Если пользователь может ввести только цифры от 1 до 10,
попробуйте вместо этого использовать компонент NumericStepper.

Этот компонент имеет встроенные функции, которые вы описываете.

Например:

<s:NumericStepper minimum="1" maximum="10" value="0" stepSize="1" maxChars="10"/>

Где:

  • минимум - минимально допустимое значение
  • максимум - максимально допустимое значение
  • значение - начальное значение
  • maxChars количество разрешенных символов
  • stepsize - это величина, на которую сумма может быть увеличена или уменьшена с помощью кнопок со стрелками

Проверьте liveocs:

Приветствия

3 голосов
/ 16 ноября 2011

Вы можете ограничить символы, введенные в TextInput, используя свойство restrict .Если вы хотите разрешить ввод только чисел, вы можете сделать это:

<s:TextInput restrict="0-9" />

Вы можете ограничить общее количество символов, введенных в TextInput, используя свойство maxChars .

<s:TextInput maxChars="10" />

Нет причин, по которым их нельзя комбинировать

<s:TextInput maxChars="10" restrict="0-9" />

Если вы принимаете только числовой ввод, вы также можете использовать компонент NumericStepper .

<s:NumericStepper maximum="1" maximum="9999999999" />

Я не уверен, существует ли верхний предел для NumericSteppers.

Это отвечает на ваш вопрос?

0 голосов
/ 17 ноября 2011

Используйте mx:TextInput, потому что оно имеет textInput событие

<mx:TextInput id="ti" restrict="0-9" textInput="Myfun(event)"/>

тогда ваш Myfun будет:

private function Myfun(ev:TextEvent):void
        {
            if(Number(ti.text + ev.text)>10)
            ev.preventDefault();
        }

Это не позволит вам набирать цифры больше 10

если вы хотите 10 цифр, используйте ..

<s:TextInput maxChars="10" restrict="0-9" />
...