【发布时间】:2014-12-01 17:17:54
【问题描述】:
有没有办法在单个输入字段中验证一个或多个电子邮件地址?
我目前正在探索的方法是创建一个自定义指令,如果检测到逗号,该指令会将输入拆分为不同的电子邮件。这是我目前所拥有的:
angular.module('myApp')
.directive('multipleEmails', function () {
return {
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
ctrl.$parsers.unshift(function(viewValue) {
var emails = viewValue.split(',');
// loop that checks every email, returns undefined if one of them fails.
});
}
};
});
我遇到的问题是我无法手动调用角度电子邮件验证器。
编辑:plunkr
编辑 2:原来我可以使用 angular 1.3
【问题讨论】:
-
ctrl.$parsers是一个数组,自己动手吧!但这听起来绝对像是一个糟糕的用户界面。 -
@Blackhole 你能给我一个例子来说明它是如何工作的吗?我希望用户界面可以改变,但我认为这是不可能的:(
-
你可以用空格而不是逗号分割,删除逗号,然后检查有效性并设置有效性
-
@Blackhole - 根据我的经验,带有分隔电子邮件地址的输入字段在 UI(即 Outlook)和服务器端代码中很常见。地址由逗号或分号分隔。
-
@SoluableNonagon 不确定这如何测试电子邮件的有效性
标签: angularjs validation