ограничение ввода текстовой области без атрибута maxlength в angularjs

0

У меня есть требование, когда пользователь может ввести/скопировать-вставить 25 идентификаторов, разделенных запятой в текстовом поле; максимальный размер для идентификаторов отсутствует. После этого он не может вводить никаких символов. Затем он отправляет эти идентификаторы для поиска.

Есть ли способ ограничить номер идентификатора до 25, а затем не позволять пользователю вводить что-либо. Я не могу использовать maxlength здесь. Также все эти проверки должны произойти до того, как пользователь отправится, и элемент управления достигнет контроллера angularjs. Я использую angularjs, HTML5, CSS3, bootstrap.

  • 0
    Вы можете запустить функцию на нг-изменения.
  • 0
    @RedDevil: Спасибо!
Теги:

2 ответа

0
Лучший ответ

В основном вам нужно подсчитать количество запятых в строке и вызвать ошибку, если она превышает 24. Вы можете сделать это, используя ng-onchange или когда пользователь отправляет. Этот ответ: подсчитать количество вхождений символа в строке в Javascript должно помочь вам с подсчетом запятых.

  • 0
    Спасибо за идею
0

Вы можете разделить модель ввода на ng-change, например, (где textareaValue - это модель текстового поля):

var textareaValueArray = textareaValue.split(',');

    if( textareaValueArray.length > 25 ) 
        textareaValue =  textareaValueArray.slice(0,25).join(',')

Ещё вопросы

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