2015-05-23 3 views
0

В следующем коде, если я уйду в тег электронной почты, мои нажатия клавиш будут выбрасываться как недопустимые - что происходит? Я могу вставить действительное электронное письмо, но при попытке ввода текста нажатие клавиши отбрасывается, а текстовое поле помечено как недопустимое.Угловой валидатор электронной почты отбрасывает нажатия клавиш

<input type="email" ng-model="vm.application.contact.emailAddress" class="form-control" required placeholder="email" name="email" id="email" > 

Если я удалю тип, я в порядке. Есть ли настройка конфигурации для предотвращения проверки нажатием клавиши?

я получаю такое же поведение, если я использую тип = «число»

+0

Ваше поле проверяется или нет? Существует два допустимых формата: test @ gmail и [email protected], т. Е. Если вы используете только «@», должен быть один или несколько символов до и после него, и если вы используете «@» и «.», они должны быть одним или несколькими символами до и после ». и "@" –

+0

Угловая не делает этого. У вас есть другая библиотека или плагин, которые могут это сделать? Какой браузер, на какой платформе? Можете ли вы воспроизвести в plunkr? –

+0

Кажется, проблема в хроме и в Safari. Работает как ожидалось в IE и Firefox. –

ответ

0

Как я копать дальше в этом, я думаю, что проблема связана с тем, что я использую Breeze и там, кажется, Угловая вибрация.

Если я добавляю временную переменную (vm.email), тип ввода = «электронная почта» теперь является редактируемым элементом управления.

Кроме того, кажется, что Breeze/Angular имеет несогласие, если используется type = "number", когда тип db является строкой. переключение на type = «tel» решает эту проблему и вызывает номера на телефоне, сохраняя при этом тип поддержки как строки, что требуется для почтового индекса: в противном случае ZIP 02188 будет 2188 при хранении в db ...

+0

так звучит, как '@JB Nizet' был прав в его комментарии =) –

+0

Согласен! @JB Nizet был прав и благодарен за продолжение работы Шехряра Аббаса –