我试图让textarea包含一个用ng-pattern验证的电子邮件列表,并结合ng-list。
我已经在各种测试人员中测试了我的正则表达式,它似乎正常工作但不在我的应用程序中。我不确定问题是Regex,还是ng-pattern和ng-list之间的干扰。
我收到的列表中的JSON数据是以数组格式显示的:
$scope.mainList.EmailAddresses = ["user@emailaddress.com", "user2@altemail.net"];
我的HTML代码:
<textarea class="text-list-area" ng-model="mainList.EmailAddresses" ng-pattern="/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}))\n?)*$/" ng-list=" " ng-trim="false"></textarea>
textarea将每个电子邮件分隔成一个新行,如下所示:
user@emailaddress.com
user2@altemail.net
我在plunker中的问题示例(感谢Beaver创建): http://plnkr.co/edit/T17TTd5otnWWXOp2gZ94?p=preview
答案 0 :(得分: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的textarea运行良好(添加/删除电子邮件)。所以问题可能出在regEx ......