【问题标题】:angularjs single input filed for both email and mobile number电子邮件和手机号码的angularjs单个输入字段
【发布时间】:2016-04-22 06:14:11
【问题描述】:

在注册表中,我的电子邮件和手机号码都只有一个字段,但它不能正常工作。

<form name="regForm" >
<md-input-container flex md-no-float>
   <input ng-model="vm.form.email" type="text" placeholder="Email or Phone" translate translate-attr-placeholder="REGISTER.EMAIL" name="email or phone" ng-pattern="/^([_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,5}))|\d+$/"  required="true">
   <div ng-messages="regForm.email.$error" ng-show="regForm.email.$touched">
     <div ng-message="required">This field is required</div>
     <div ng-message="email">Your email address is invalid</div>
   </div>
</md-input-container>
</form>

以下代码显示模型文件中的架构

userModel.js

var UserSchema = new Schema({
   name: String,
   email: {type: String, required: true, select: true},
   password: {type: String, required: true, select: true},
});

【问题讨论】:

  • ng-show= 重复
  • 实际上,我不知道如何在单个字段中同时处理这两个问题。你能帮帮我吗?
  • 您的意思是验证电子邮件或电话号码的字段吗?

标签: angularjs angular-material angularjs-validation


【解决方案1】:

您尝试在ng-messagesng-show 中引用的字段不存在(regForm 中没有带有name="email" 的输入)。

对于您要实现的目标,我将使用自定义验证逻辑,例如 here。您甚至可以使用docs 中描述的自定义验证器。

【讨论】:

    猜你喜欢
    • 2016-04-17
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多