Как разрешить вводить только число (цифры и десятичная точка и отрицательный знак) в тип ввода «число»?

0

Я пытался использовать эту директиву, и она работает нормально,

использование по типу ввода:

    <input valid-number ng-model="mynumber"
        allow-decimal="false" allow-negative="true" type="text" />

Но когда я пытаюсь использовать, как показано ниже,

usgae on ввод type число:

    <input valid-number ng-model="mynumber"
        allow-decimal="false" allow-negative="true" type="number" />

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

Пожалуйста, дайте мне несколько предложений.

Благодарю.

  • 1
    Зачем вам нужна директива для ввода [type = "number"]? AngularJS выполняет такую проверку самостоятельно. Проверьте документацию для получения дополнительной информации .
  • 0
    Чтобы ограничить тире / точку только один раз, вместо отображения сообщения запретите пользователю вводить тире / точку несколько раз.
Теги:
angularjs-directive

1 ответ

2

Из вашего плагина

Angularjs Предписание-Accept-Положительно Отрицательно Десятичный-Number-Only

Когда вы меняете тип с текста на номер, необходимо ввести ошибку для значения по умолчанию

Ожидается, что 0 будет числом

Вам нужно заменить эту строку в плагине

if (text == '0' || text == null && attrs.allowDecimal == "false") return '0';

с

if (text == '0' || text == null && attrs.allowDecimal == "false") return 0;

Результат:

plunker

Ещё вопросы

Сообщество Overcoder
Наверх
Меню