首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否存在ng模型和输入类型的电子邮件错误?

是否存在ng模型和输入类型的电子邮件错误?
EN

Stack Overflow用户
提问于 2013-07-04 18:06:00
回答 3查看 6.2K关注 0票数 18

输入模型“email”和ng-type=属性有什么特别的地方吗?如果输入是电子邮件,则模型不会更新。如果我将输入类型更改为文本、数字或日期,它将正确更新。

Bug或一些我不理解的特殊魔法电子邮件验证行为?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-04 18:29:45

它会对then输入进行一些验证,因此在将其绑定到模型之前,您需要输入有效的电子邮件地址。

这是使用的正则表达式:

代码语言:javascript
复制
/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/

基本上,您需要输入一个至少为a@b.co的地址

票数 32
EN

Stack Overflow用户

发布于 2016-05-26 19:24:29

这不是bug,只有当我们为电子邮件验证输入正确的电子邮件地址格式时,它才会更新。添加此属性ng-model-options="{'allowInvalid': true}"以允许无效的电子邮件输入。

票数 13
EN

Stack Overflow用户

发布于 2015-11-05 06:42:01

从Angular 1.3开始,你可以很容易地覆盖'email‘验证器,并让它总是返回true。

代码语言:javascript
复制
angular
  .module('myApp', [])
  .controller('MainController', function() {
    this.email = '';
  })
  .directive('noEmailValidation', function() {
    return {
      restrict: 'A',
      require: 'ngModel',
      link: function(scope, elm, attr, ctrl) {
        ctrl.$validators['email'] = function() {
          return true;
        };
      }
    }
  });
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
<div ng-app="myApp">
  <form ng-controller="MainController as main">
    <div>Email: {{main.email}}</div>
    <input type="email" ng-model="main.email" no-email-validation>
  </form>
</div>

好好享受吧。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17467508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档