AngularJS textarea ng-шаблон с несколькими совпадениями

Я пытаюсь создать текстовую область, содержащую список электронных писем, проверенных с помощью ng-шаблона, в сочетании с ng-list.

Я тестировал свое регулярное выражение в различных тестировщиках, и, похоже, оно работает правильно, но не в моем приложении. Я не уверен, что проблема в регулярном выражении или в конфликте между ng-pattern и ng-list.

Данные JSON, которые я получаю для списка, поступают в формате массива:

$scope.mainList.EmailAddresses = ["[email protected]", "[email protected]"];

Мой HTML-код:

<textarea class="text-list-area" ng-model="mainList.EmailAddresses" ng-pattern="/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}))\n?)*$/" ng-list="&#10;" ng-trim="false"></textarea>

И текстовая область отделяет каждое электронное письмо новой строкой, например:

[email protected]
[email protected]

Пример моей проблемы в плункере (спасибо Beaver за создание): http://plnkr.co/edit/T17TTd5otnWWXOp2gZ94?p=preview


person enderschaos    schedule 09.12.2015    source источник


Ответы (1)


Может ли этот jsFiddle помочь вам?

https://jsfiddle.net/beaver71/cggLyL09/27/

Я добавил в ваш код некоторые отзывы об ошибках проверки, например:

<span ng-show="myForm.email_field.$error.pattern">Not a valid email!</span>

И Plunker, который более эффективен:

http://plnkr.co/edit/T17TTd5otnWWXOp2gZ94?p=preview

В этом примере текстовое поле без вашего ngPattern работает хорошо (добавление/удаление писем). Так что проблема, вероятно, в регулярном выражении...

person beaver    schedule 10.12.2015
comment
Ваша скрипка очень хорошо работает, чтобы получить нужный мне результат, но она заставила меня понять, что мне не хватает важной информации в моей проблеме, а именно моя переменная списка представляет собой массив. Обновление моего вопроса включает эту проблему. - person enderschaos; 10.12.2015