У меня есть требование, когда пользователь может ввести/скопировать-вставить 25 идентификаторов, разделенных запятой в текстовом поле; максимальный размер для идентификаторов отсутствует. После этого он не может вводить никаких символов. Затем он отправляет эти идентификаторы для поиска.
Есть ли способ ограничить номер идентификатора до 25, а затем не позволять пользователю вводить что-либо. Я не могу использовать maxlength здесь. Также все эти проверки должны произойти до того, как пользователь отправится, и элемент управления достигнет контроллера angularjs. Я использую angularjs, HTML5, CSS3, bootstrap.
В основном вам нужно подсчитать количество запятых в строке и вызвать ошибку, если она превышает 24. Вы можете сделать это, используя ng-onchange или когда пользователь отправляет. Этот ответ: подсчитать количество вхождений символа в строке в Javascript должно помочь вам с подсчетом запятых.
Вы можете разделить модель ввода на ng-change, например, (где textareaValue - это модель текстового поля):
var textareaValueArray = textareaValue.split(',');
if( textareaValueArray.length > 25 )
textareaValue = textareaValueArray.slice(0,25).join(',')