Табулятор JS — как проверять числовые поля во время ввода пользователем

#javascript #validation #cell #tabulator

Вопрос:

Моя цель состоит в том, чтобы иметь числовое поле, которое проверяется по мере ввода пользователем, но, похоже, проверка выполняется только после того, как пользователь покидает ячейку. Возможно ли начать проверку ячейки при вводе пользователем и продолжить обновлять ее снова, когда пользователь продолжает вводить или редактировать поле. В приведенном ниже примере из примеров v4.9 я отредактировал числовое поле, а затем один раз покинул ячейку, что правильно выдает ошибку.
Но если я арендую ячейку и исправлю ее на положительное число без букв, при редактировании все равно будет отображаться красная граница проверки, пока я не покину ячейку. введите описание изображения здесь

  1. Я бы хотел, чтобы проверка повторялась при каждом редактировании символа, чтобы цвет границы затем обновлялся по мере редактирования, и пользователь будет знать, что значение может быть принято, прежде чем покинуть ячейку.
  2. Я также хотел бы запретить любую запись в ячейку, кроме десятичного числа (т. Е. только одна десятичная точка и только цифровые символы, так что буква e никогда не может появиться в ячейке), но еще не нашли ответа. Числовой формат, по-видимому, предназначен для целых чисел и показывает стрелки шагов в конце, поэтому не подходит для чисел с 1 или 2 знаками после запятой.

Может ли кто-нибудь указать мне правильное направление?

Ответ №1:

Создайте пользовательский редактор, который проверяет каждое нажатие клавиши

Комментарии:

1. Это было то, что я начал делать, но функция валидатора возникает только при отправке или выходе из ячейки, а не при редактировании по ключу. Я не нашел способа вызывать его при каждом нажатии клавиши .

2. Ограничившись числами, я обнаружил, что вы можете установить тип ввода в число, и вы получите стрелки вверх и вниз, что является стандартным полем ввода html, поэтому в него входят только числа. Проведя немного больше исследований, я обнаружил, что существует синтаксис css для ::webkit, который вы можете использовать для скрытия клавиш со стрелками, и есть свойство step, которое можно установить равным 0,01, чтобы разрешить 2 знака после запятой. Таким образом, поля чисел теперь сортируются без необходимости в пользовательском валидаторе.