единый ввод angularjs для электронной почты и мобильного телефона

0

В регистрационной форме у меня есть одно поле для номера электронной почты и мобильного телефона, но оно не работает должным образом.

<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},
});
  • 0
    нг-шоу = дублируется
  • 0
    на самом деле я не понимаю, как сделать для обоих в одном поле. Не могли бы вы мне помочь?
Показать ещё 1 комментарий
Теги:
angular-material
angularjs-validation

1 ответ

2

Поле, которое вы пытаетесь ссылаться в ng-messages и ng-show, не существует (в regForm нет ввода с name="email").

Для чего вы пытаетесь достичь, я бы использовал пользовательскую логику проверки, как здесь. Вы даже можете использовать специальный валидатор, как описано в документах.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню