Управление входом для dijit NumberTextBox? - PullRequest
0 голосов
/ 05 февраля 2011

Я использую NumberTextBox и хочу управлять вводом таким образом, чтобы выполнялись следующие требования:
а) нет + или - должно быть разрешено
б) значения должны быть между, например 4,5 и 19,8
c) разрешенный формат должен содержать не более двух цифр перед знаком «.» и не более 4 после него.
d) поэтому элемент управления должен содержать не более 7 символов и не должен позволять вводить больше

Кроме сообщения об ошибке за нарушение б) Я не хочу видеть никаких сообщений. Я хочу, чтобы было невозможно ввести третью цифру до или 5 пятую цифру после '.'
Лучший подход, который мне удается получить, - это
- maxLength = "7"
- ограничения = {min = "4.5", max = "19.8", pattern = "# 0. ####"}
но это не в состоянии выполнить задачу. Я также пытался использовать разные шаблоны и использовать «точность», но все равно не смог получить то, что хочу.

Возможно ли это вообще? Или мне нужно написать дополнительный код для этого?

Спасибо за ваше время!

1 Ответ

1 голос
/ 05 февраля 2011

Кажется, я вспоминаю, как кто-то однажды спрашивал об этом в IRC-канале, и ответ был таков: однажды была предпринята попытка упреждающего блокирования неверного ввода, но в итоге это оказалось слишком проблематичным. Таким образом, проверка OOTB в этих виджетах является чисто реактивной, а не профилактической.

Эта тестовая страница дает представление о том, что вы можете делать с проверкой OOTB:

http://download.dojotoolkit.org/release-1.5.0/dojo-release-1.5.0/dijit/tests/form/test_validate.html

...