我的Angular应用程序有一个登录表单,其中包含电子邮件/用户名输入字段:
<input type="email" required/>
输入是type =&#34; email&#34;所以correct keyboard is displayed in iOS 但是,验证应该是类型=&#34; text&#34;输入以允许用户名。
基本上我需要覆盖Angular来验证type =&#34; email&#34; as type =&#34; text&#34;
这是一个basic Plunker开始。
注意:我尝试过使用ng-pattern来验证正则表达式,但它似乎只适用于type =&#34; text&#34;
答案 0 :(得分:5)
我认为不可能改变输入类型='电子邮件'的处理方式而不改变它的来源,但也许你可以尝试:
<input type="text" required late-email />
angular.module('yourApp').directive('lateEmail', function () {
return {
priority: -1,
link: function(scope, elem, attrs) {
elem.attr('type', 'email');
}
};
});
这里重要的是优先级,因为angularjs输入指令需要先运行(链接)才会使用'text'作为输入类型,然后lateEmail会将输入类型更改为电子邮件。